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

#define IN_TARGET_CODE 1

#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.cc) 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_peephole2_1 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_2 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_3 (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_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_4 (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_peephole2_7 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_8 (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_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_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_split_61 (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_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_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_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_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_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_peephole2_12 (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_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_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_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_peephole2_40 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_41 (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_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_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_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_peephole2_175 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_176 (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 *);
extern rtx_insn *gen_peephole2_187 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_188 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_189 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_190 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_191 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_192 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_193 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_194 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_195 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_196 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_197 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_198 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_199 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_200 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_201 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_202 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_203 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_204 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_205 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_206 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_207 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_208 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_209 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_210 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_211 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_212 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_213 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_214 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_215 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_216 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_217 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_218 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_219 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_220 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_221 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_222 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_223 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_224 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_225 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_226 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_227 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_228 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_229 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_230 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_231 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_232 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_233 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_234 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_235 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_236 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_237 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_238 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_239 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_240 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_241 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_242 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_243 (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_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_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_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_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_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_split_454 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_455 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_456 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_457 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_458 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_459 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_460 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_461 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_462 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_463 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_464 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_465 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_466 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_467 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_468 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_469 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_470 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_471 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_472 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_473 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_474 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_475 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_476 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_477 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_478 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_479 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_480 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_481 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_482 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_483 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_484 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_485 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_486 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_487 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_488 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_489 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_490 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_491 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_492 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_493 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_494 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_495 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_496 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_497 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_498 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_499 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_500 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_501 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_502 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_503 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_504 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_505 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_506 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_507 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_508 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_509 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_510 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_511 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_512 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_513 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_514 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_515 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_516 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_517 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_518 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_519 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_520 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_521 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_522 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_523 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_524 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_525 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_526 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_527 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_528 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_529 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_530 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_531 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_532 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_533 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_534 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_535 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_536 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_537 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_538 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_539 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_540 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_541 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_542 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_543 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_544 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_545 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_546 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_547 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_548 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_549 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_550 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_551 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_552 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_553 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_554 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_555 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_556 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_557 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_558 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_559 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_560 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_561 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_562 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_563 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_564 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_565 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_566 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_567 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_568 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_569 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_570 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_571 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_572 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_573 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_574 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_575 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_576 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_577 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_578 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_579 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_580 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_581 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_582 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_583 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_584 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_585 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_586 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_587 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_588 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_589 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_590 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_591 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_592 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_593 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_594 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_595 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_596 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_597 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_598 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_599 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_600 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_601 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_602 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_603 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_604 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_605 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_606 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_607 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_608 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_609 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_610 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_611 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_612 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_613 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_614 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_615 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_616 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_617 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_618 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_619 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_620 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_621 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_622 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_623 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_624 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_625 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_626 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_627 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_628 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_629 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_630 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_631 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_632 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_633 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_634 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_635 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_636 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_637 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_638 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_639 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_640 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_641 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_642 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_643 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_644 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_645 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_646 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_647 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_648 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_649 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_650 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_651 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_652 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_653 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_654 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_655 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_656 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_657 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_658 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_659 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_660 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_661 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_662 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_663 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_664 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_665 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_666 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_667 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_668 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_669 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_670 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_671 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_672 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_673 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_674 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_675 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_676 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_677 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_678 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_679 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_680 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_681 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_682 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_683 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_684 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_685 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_686 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_687 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_688 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_689 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_690 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_691 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_692 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_693 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_694 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_695 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_696 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_697 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_698 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_699 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_700 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_701 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_702 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_703 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_704 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_705 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_706 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_707 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_708 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_709 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_710 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_711 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_712 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_713 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_714 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_715 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_716 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_717 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_718 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_719 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_720 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_721 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_722 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_723 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_724 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_725 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_726 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_727 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_728 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_729 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_730 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_731 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_732 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_733 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_734 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_735 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_736 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_737 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_738 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_739 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_740 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_741 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_742 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_743 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_744 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_745 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_746 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_747 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_748 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_749 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_750 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_751 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_752 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_753 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_754 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_755 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_756 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_757 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_758 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_759 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_760 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_761 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_762 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_763 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_764 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_765 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_766 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_767 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_768 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_769 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_770 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_771 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_772 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_773 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_774 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_775 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_776 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_777 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_778 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_779 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_780 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_781 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_782 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_783 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_784 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_785 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_786 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_787 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_788 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_789 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_790 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_791 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_792 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_793 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_794 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_795 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_796 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_797 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_798 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_799 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_800 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_801 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_802 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_803 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_804 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_805 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_806 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_807 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_808 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_809 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_810 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_811 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_812 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_813 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_814 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_815 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_816 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_817 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_818 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_819 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_820 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_821 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_822 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_823 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_824 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_825 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_826 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_827 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_828 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_829 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_830 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_831 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_832 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_833 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_834 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_835 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_836 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_837 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_838 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_839 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_840 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_841 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_842 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_843 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_844 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_845 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_846 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_847 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_848 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_849 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_850 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_851 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_852 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_853 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_854 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_855 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_856 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_857 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_858 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_859 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_860 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_861 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_862 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_863 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_864 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_865 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_866 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_867 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_868 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_869 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_870 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_871 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_872 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_873 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_874 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_875 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_876 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_877 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_878 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_879 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_880 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_881 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_882 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_883 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_884 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_885 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_886 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_887 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_888 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_889 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_890 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_891 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_892 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_893 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_894 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_895 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_896 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_897 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_898 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_899 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_900 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_901 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_902 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_903 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_904 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_905 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_906 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_907 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_908 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_909 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_910 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_911 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_912 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_913 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_914 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_915 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_916 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_917 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_918 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_919 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_920 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_921 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_922 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_923 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_924 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_925 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_926 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_927 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_928 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_929 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_930 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_931 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_932 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_933 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_934 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_935 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_936 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_937 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_938 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_939 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_940 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_941 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_942 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_943 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_944 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_945 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_946 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_947 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_948 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_949 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_950 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_951 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_952 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_953 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_954 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_955 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_956 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_957 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_958 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_959 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_960 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_961 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_962 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_963 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_964 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_965 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_966 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_967 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_968 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_969 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_970 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_971 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_972 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_973 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_974 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_975 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_976 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_977 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_978 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_979 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_980 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_981 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_982 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_983 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_984 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_985 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_986 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_987 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_988 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_989 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_990 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_991 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_992 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_993 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_994 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_995 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_996 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_997 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_998 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_999 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1000 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1001 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1002 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1003 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1004 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1005 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1006 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1007 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1008 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1009 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1010 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1011 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1012 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1013 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1014 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1015 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1016 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1017 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1018 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1019 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1020 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1021 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1022 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1023 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1024 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1025 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1026 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1027 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1028 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1029 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1030 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1031 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1032 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1033 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1034 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1035 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1036 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1037 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1038 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1039 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1040 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1041 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1042 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1043 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1044 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1045 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1046 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1047 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1048 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1049 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1050 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1051 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1052 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1053 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1054 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1055 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1056 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1057 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1058 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1059 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1060 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1061 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1062 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1063 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1064 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1065 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1066 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1067 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1068 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1069 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1070 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1071 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1072 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1073 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1074 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1075 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1076 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1077 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1078 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1079 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1080 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1081 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1082 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1083 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1084 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1085 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1086 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1087 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1088 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1089 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1090 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1091 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1092 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1093 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1094 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1095 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1096 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1097 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1098 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1099 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1100 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1101 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1102 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1103 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1104 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1105 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1106 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1107 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1108 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1109 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1110 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1111 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1112 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1113 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1114 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1115 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1116 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1117 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1118 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1119 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1120 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1121 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1122 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1123 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1124 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1125 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1126 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1127 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1128 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1129 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1130 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1131 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1132 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1133 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1134 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1135 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1136 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1137 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1138 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1139 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1140 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1141 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1142 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1143 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1144 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1145 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1146 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1147 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1148 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1149 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1150 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1151 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1152 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1153 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1154 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1155 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1156 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1157 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1158 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1159 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1160 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1161 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1162 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1163 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1164 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1165 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1166 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1167 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1168 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1169 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1170 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1171 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1172 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1173 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1174 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1175 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1176 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1177 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1178 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1179 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1180 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1181 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1182 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1183 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1184 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1185 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1186 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1187 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1188 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1189 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1190 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1191 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1192 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1193 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1194 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1195 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1196 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1197 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1198 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1199 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1200 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1201 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1202 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1203 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1204 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1205 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1206 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1207 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1208 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1209 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1210 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1211 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1212 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1213 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1214 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1215 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1216 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1217 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1218 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1219 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1220 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1221 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1222 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1223 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1224 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1225 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1226 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1227 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1228 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1229 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1230 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1231 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1232 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1233 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1234 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1235 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1236 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1237 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1238 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1239 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1240 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1241 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1242 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1243 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1244 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1245 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1246 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1247 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1248 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1249 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1250 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1251 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1252 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1253 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1254 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1255 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1256 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1257 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1258 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1259 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1260 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1261 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1262 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1263 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1264 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1265 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1266 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1267 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1268 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1269 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1270 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1271 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1272 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1273 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1274 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1275 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1276 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1277 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1278 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1279 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1280 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1281 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1282 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1283 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1284 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1285 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1286 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1287 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1288 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1289 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1290 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1291 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1292 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1293 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1294 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1295 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1296 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1297 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1298 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1299 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1300 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1301 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1302 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1303 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1304 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1305 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1306 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1307 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1308 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1309 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1310 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1311 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1312 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1313 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1314 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1315 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1316 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1317 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1318 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1319 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1320 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1321 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1322 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1323 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1324 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1325 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1326 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1327 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1328 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1329 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1330 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1331 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1332 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1333 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1334 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1335 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1336 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1337 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1338 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1339 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1340 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1341 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1342 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1343 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1344 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1345 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1346 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1347 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1348 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1349 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1350 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1351 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1352 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1353 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1354 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1355 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1356 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1357 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1358 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1359 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1360 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1361 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1362 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1363 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1364 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1365 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1366 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1367 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1368 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1369 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1370 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1371 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1372 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1373 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1374 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1375 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1376 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1377 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1378 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1379 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1380 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1381 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1382 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1383 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1384 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1385 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1386 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1387 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1388 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1389 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1390 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1391 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1392 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1393 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1394 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1395 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1396 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1397 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1398 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1399 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1400 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1401 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1402 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1403 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1404 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1405 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1406 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1407 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1408 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1409 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1410 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1411 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1412 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1413 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1414 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1415 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1416 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1417 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1418 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1419 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1420 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1421 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1422 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1423 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1424 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1425 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1426 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1427 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1428 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1429 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1430 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1431 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1432 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1433 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1434 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1435 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1436 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1437 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1438 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1439 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1440 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1441 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1442 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1443 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1444 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1445 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1446 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1447 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1448 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1449 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1450 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1451 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1452 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1453 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1454 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1455 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1456 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1457 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1458 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1459 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1460 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1461 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1462 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1463 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1464 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1465 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1466 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1467 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1468 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1469 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1470 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1471 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1472 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1473 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1474 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1475 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1476 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1477 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1478 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1479 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1480 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1481 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1482 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1483 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1484 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1485 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1486 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1487 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1488 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1489 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1490 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1491 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1492 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1493 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1494 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1495 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1496 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1497 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1498 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1499 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1500 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1501 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1502 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1503 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1504 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1505 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1506 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1507 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1508 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1509 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1510 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1511 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1512 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1513 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1514 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1515 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1516 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1517 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1518 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1519 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1520 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1521 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1522 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1523 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1524 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1525 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1526 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1527 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1528 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1529 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1530 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1531 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1532 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1533 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1534 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1535 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1536 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1537 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1538 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1539 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1540 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1541 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1542 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1543 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1544 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1545 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1546 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1547 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1548 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1549 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1550 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1551 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1552 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1553 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1554 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1555 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1556 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1557 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1558 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1559 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1560 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1561 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1562 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1563 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1564 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1565 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1566 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1567 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1568 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1569 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1570 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1571 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1572 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1573 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1574 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1575 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1576 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1577 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1578 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1579 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1580 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1581 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1582 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1583 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1584 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1585 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1586 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1587 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1588 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1589 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1590 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1591 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1592 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1593 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1594 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1595 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1596 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1597 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1598 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1599 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1600 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1601 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1602 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1603 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1604 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1605 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1606 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1607 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1608 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1609 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1610 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1611 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1612 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1613 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1614 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1615 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1616 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1617 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1618 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1619 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1620 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1621 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1622 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1623 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1624 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1625 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1626 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1627 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1628 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1629 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1630 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1631 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1632 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1633 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1634 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1635 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1636 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1637 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1638 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1639 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1640 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1641 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1642 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1643 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1644 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1645 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1646 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1647 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1648 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1649 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1650 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1651 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1652 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1653 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1654 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1655 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1656 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1657 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1658 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1659 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1660 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1661 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1662 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1663 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1664 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1665 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1666 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1667 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1668 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1669 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1670 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1671 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1672 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1673 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1674 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1675 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1676 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1677 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1678 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1679 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1680 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1681 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1682 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1683 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1684 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1685 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1686 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1687 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1688 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1689 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1690 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1691 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1692 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1693 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1694 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1695 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1696 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1697 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1698 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1699 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1700 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1701 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1702 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1703 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1704 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1705 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1706 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1707 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1708 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1709 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1710 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1711 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1712 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1713 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1714 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1715 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1716 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1717 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1718 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1719 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1720 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1721 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1722 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1723 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1724 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1725 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1726 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1727 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1728 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1729 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1730 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1731 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1732 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1733 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1734 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1735 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1736 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1737 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1738 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1739 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1740 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1741 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1742 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1743 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1744 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1745 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1746 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1747 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1748 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1749 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1750 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1751 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1752 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1753 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1754 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1755 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1756 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1757 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1758 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1759 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1760 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1761 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1762 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1763 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1764 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1765 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1766 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1767 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1768 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1769 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1770 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1771 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1772 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1773 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1774 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1775 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1776 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1777 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1778 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1779 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1780 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1781 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1782 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1783 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1784 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1785 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1786 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1787 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1788 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1789 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1790 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1791 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1792 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1793 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1794 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1795 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1796 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1797 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1798 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1799 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1800 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1801 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1802 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1803 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1804 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1805 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1806 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1807 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1808 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1809 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1810 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1811 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1812 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1813 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1814 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1815 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1816 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1817 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1818 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1819 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1820 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1821 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1822 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1823 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1824 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1825 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1826 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1827 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1828 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1829 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1830 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1831 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1832 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1833 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1834 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1835 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1836 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1837 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1838 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1839 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1840 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1841 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1842 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1843 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1844 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1845 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1846 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1847 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1848 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1849 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1850 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1851 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1852 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1853 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1854 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1855 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1856 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1857 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1858 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1859 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1860 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1861 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1862 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1863 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1864 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1865 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1866 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1867 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1868 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1869 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1870 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1871 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1872 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1873 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1874 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1875 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1876 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1877 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1878 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1879 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1880 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1881 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1882 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1883 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1884 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1885 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1886 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1887 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1888 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1889 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1890 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1891 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1892 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1893 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1894 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1895 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1896 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1897 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1898 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1899 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1900 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1901 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1902 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1903 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1904 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1905 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1906 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1907 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1908 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1909 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1910 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1911 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1912 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1913 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1914 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1915 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1916 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1917 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1918 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1919 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1920 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1921 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1922 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1923 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1924 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1925 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1926 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1927 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1928 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1929 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1930 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1931 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1932 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1933 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1934 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1935 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1936 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1937 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1938 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1939 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1940 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1941 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1942 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1943 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1944 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1945 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1946 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1947 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1948 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1949 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1950 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1951 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1952 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1953 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1954 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1955 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1956 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1957 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1958 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1959 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1960 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1961 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1962 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1963 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1964 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1965 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1966 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1967 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1968 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1969 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1970 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1971 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1972 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1973 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1974 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1975 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1976 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1977 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1978 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1979 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1980 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1981 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1982 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1983 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1984 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1985 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1986 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1987 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1988 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1989 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1990 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1991 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1992 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1993 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1994 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1995 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1996 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1997 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1998 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_1999 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2000 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2001 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2002 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2003 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2004 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2005 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2006 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2007 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2008 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2009 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2010 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2011 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2012 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2013 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2014 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2015 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2016 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2017 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2018 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2019 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2020 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2021 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2022 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2023 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2024 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2025 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2026 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2027 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2028 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2029 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2030 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2031 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2032 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2033 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2034 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2035 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2036 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2037 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2038 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2039 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2040 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2041 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2042 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2043 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2044 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2045 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2046 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2047 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2048 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2049 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2050 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2051 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2052 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2053 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2054 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2055 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2056 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2057 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2058 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2059 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2060 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2061 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2062 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2063 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2064 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2065 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2066 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2067 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2068 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2069 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2070 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2071 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2072 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2073 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2074 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2075 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2076 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2077 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2078 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2079 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2080 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2081 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2082 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2083 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2084 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2085 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2086 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2087 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2088 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2089 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2090 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2091 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2092 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2093 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2094 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2095 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2096 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2097 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2098 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2099 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2100 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2101 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2102 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2103 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2104 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2105 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2106 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2107 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2108 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2109 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2110 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2111 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2112 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2113 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2114 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2115 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2116 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2117 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2118 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2119 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2120 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2121 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2122 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2123 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2124 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2125 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2126 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2127 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2128 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2129 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2130 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2131 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2132 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2133 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2134 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2135 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2136 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2137 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2138 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2139 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2140 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2141 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2142 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2143 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2144 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2145 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2146 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2147 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2148 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2149 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2150 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2151 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2152 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2153 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2154 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2155 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2156 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2157 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2158 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2159 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2160 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2161 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2162 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2163 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2164 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2165 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2166 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2167 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2168 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2169 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2170 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2171 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2172 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2173 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2174 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2175 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2176 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2177 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2178 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2179 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2180 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2181 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2182 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2183 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2184 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2185 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2186 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2187 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2188 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2189 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2190 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2191 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2192 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2193 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2194 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2195 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2196 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2197 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2198 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2199 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2200 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2201 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2202 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2203 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2204 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2205 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2206 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2207 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2208 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2209 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2210 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2211 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2212 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2213 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2214 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2215 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2216 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2217 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2218 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2219 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2220 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2221 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2222 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2223 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2224 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2225 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2226 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2227 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2228 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2229 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2230 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2231 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2232 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2233 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2234 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2235 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2236 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2237 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2238 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2239 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2240 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2241 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2242 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2243 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2244 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2245 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2246 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2247 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2248 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2249 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2250 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2251 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2252 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2253 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2254 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2255 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2256 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2257 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2258 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2259 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2260 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2261 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2262 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2263 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2264 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2265 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2266 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2267 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2268 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2269 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2270 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2271 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2272 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2273 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2274 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2275 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2276 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2277 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2278 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2279 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2280 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2281 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2282 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2283 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2284 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2285 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2286 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2287 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2288 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2289 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2290 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2291 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2292 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2293 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2294 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2295 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2296 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2297 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2298 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2299 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2300 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2301 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2302 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2303 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2304 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2305 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2306 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2307 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2308 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2309 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2310 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2311 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2312 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2313 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2314 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2315 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2316 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2317 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2318 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2319 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2320 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2321 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2322 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2323 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2324 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2325 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2326 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2327 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2328 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2329 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2330 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2331 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2332 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2333 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2334 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2335 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2336 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2337 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2338 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2339 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2340 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2341 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2342 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2343 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2344 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2345 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2346 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2347 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2348 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2349 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2350 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2351 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2352 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2353 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2354 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2355 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2356 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2357 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2358 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2359 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2360 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2361 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2362 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2363 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2364 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2365 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2366 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2367 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2368 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2369 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2370 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2371 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2372 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2373 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2374 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2375 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2376 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2377 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2378 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2379 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2380 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2381 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2382 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2383 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2384 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2385 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2386 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2387 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2388 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2389 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2390 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2391 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2392 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2393 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2394 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2395 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2396 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2397 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2398 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2399 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2400 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2401 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2402 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2403 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2404 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2405 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2406 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2407 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2408 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2409 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2410 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2411 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2412 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2413 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2414 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2415 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2416 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2417 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2418 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2419 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2420 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2421 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2422 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2423 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2424 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2425 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2426 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2427 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2428 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2429 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2430 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2431 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2432 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2433 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2434 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2435 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2436 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2437 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2438 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2439 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2440 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2441 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2442 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2443 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2444 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2445 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2446 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2447 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2448 (rtx_insn *, rtx *);




static int
pattern0 (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);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 0;

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

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

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode
          || !register_operand (operands[1], E_DImode))
        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  return pattern1 (x3); /* [-1, 1] */
}

static int
pattern3 (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) != E_QImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  if (!const_int_operand (operands[2], E_VOIDmode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  if (!register_operand (operands[3], E_QImode))
    return -1;
  return pattern1 (x1); /* [-1, 1] */
}

static int
pattern4 (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)
      || !aarch64_simd_rshift_imm (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern5 (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);
  switch (GET_CODE (x5))
    {
    case CONST_INT:
    case REG:
    case SUBREG:
    case TRUNCATE:
      return 0;

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

    case CONST_VECTOR:
    case CONST:
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern4 (x3, E_V8QImode) != 0)
            return -1;
          return 3;

        case E_V16QImode:
          if (pattern4 (x3, E_V16QImode) != 0)
            return -1;
          return 4;

        case E_V4HImode:
          if (pattern4 (x3, E_V4HImode) != 0)
            return -1;
          return 5;

        case E_V8HImode:
          if (pattern4 (x3, E_V8HImode) != 0)
            return -1;
          return 6;

        case E_V2SImode:
          if (pattern4 (x3, E_V2SImode) != 0)
            return -1;
          return 7;

        case E_V4SImode:
          if (pattern4 (x3, E_V4SImode) != 0)
            return -1;
          return 8;

        case E_V2DImode:
          if (pattern4 (x3, E_V2DImode) != 0)
            return -1;
          return 9;

        case E_VNx16QImode:
          if (pattern4 (x3, E_VNx16QImode) != 0)
            return -1;
          return 10;

        case E_VNx8QImode:
          if (pattern4 (x3, E_VNx8QImode) != 0)
            return -1;
          return 11;

        case E_VNx4QImode:
          if (pattern4 (x3, E_VNx4QImode) != 0)
            return -1;
          return 12;

        case E_VNx2QImode:
          if (pattern4 (x3, E_VNx2QImode) != 0)
            return -1;
          return 13;

        case E_VNx8HImode:
          if (pattern4 (x3, E_VNx8HImode) != 0)
            return -1;
          return 14;

        case E_VNx4HImode:
          if (pattern4 (x3, E_VNx4HImode) != 0)
            return -1;
          return 15;

        case E_VNx2HImode:
          if (pattern4 (x3, E_VNx2HImode) != 0)
            return -1;
          return 16;

        case E_VNx4SImode:
          if (pattern4 (x3, E_VNx4SImode) != 0)
            return -1;
          return 17;

        case E_VNx2SImode:
          if (pattern4 (x3, E_VNx2SImode) != 0)
            return -1;
          return 18;

        case E_VNx2DImode:
          if (pattern4 (x3, E_VNx2DImode) != 0)
            return -1;
          return 19;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern6 (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 E_HFmode:
      if (!register_operand (operands[1], E_HFmode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern7 (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], i1))
    return -1;
  return 0;
}

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

    case E_DImode:
      res = pattern6 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    case E_V4HImode:
      if (pattern7 (x1, E_V4HFmode, E_V4HImode) != 0)
        return -1;
      return 6;

    case E_V8HImode:
      if (pattern7 (x1, E_V8HFmode, E_V8HImode) != 0)
        return -1;
      return 7;

    case E_V2SImode:
      if (pattern7 (x1, E_V2SFmode, E_V2SImode) != 0)
        return -1;
      return 8;

    case E_V4SImode:
      if (pattern7 (x1, E_V4SFmode, E_V4SImode) != 0)
        return -1;
      return 9;

    case E_V2DImode:
      if (pattern7 (x1, E_V2DFmode, E_V2DImode) != 0)
        return -1;
      return 10;

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

    default:
      return -1;
    }
}

static int
pattern9 (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 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_fp_vec_pow2 (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern10 (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 E_SFmode:
      if (!register_operand (operands[1], E_SFmode)
          || !aarch64_fp_pow2 (operands[2], E_SFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern11 (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[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      if (XVECLEN (x4, 0) != 1)
        return -1;
      switch (XINT (x4, 1))
        {
        case 32:
          x5 = XVECEXP (x4, 0, 0);
          switch (GET_CODE (x5))
            {
            case REG:
            case SUBREG:
              return pattern8 (x3); /* [-1, 11] */

            case MULT:
              x6 = XEXP (x5, 0);
              operands[1] = x6;
              x7 = XEXP (x5, 1);
              operands[2] = x7;
              switch (GET_MODE (operands[0]))
                {
                case E_V2SImode:
                  if (pattern9 (x3, E_V2SFmode, E_V2SImode) != 0)
                    return -1;
                  return 12;

                case E_V4SImode:
                  if (pattern9 (x3, E_V4SFmode, E_V4SImode) != 0)
                    return -1;
                  return 13;

                case E_V2DImode:
                  if (pattern9 (x3, E_V2DFmode, E_V2DImode) != 0)
                    return -1;
                  return 14;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 30:
          res = pattern8 (x3);
          if (res >= 0)
            return res + 15; /* [15, 26] */
          return -1;

        case 28:
          res = pattern8 (x3);
          if (res >= 0)
            return res + 27; /* [27, 38] */
          return -1;

        case 26:
          res = pattern8 (x3);
          if (res >= 0)
            return res + 39; /* [39, 50] */
          return -1;

        case 29:
          res = pattern8 (x3);
          if (res >= 0)
            return res + 51; /* [51, 62] */
          return -1;

        default:
          return -1;
        }

    case MULT:
      x8 = XEXP (x4, 0);
      operands[1] = x8;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          res = pattern10 (x3, E_SImode);
          if (res >= 0)
            return res + 63; /* [63, 64] */
          return -1;

        case E_DImode:
          res = pattern10 (x3, E_DImode);
          if (res >= 0)
            return res + 65; /* [65, 66] */
          return -1;

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x3) != E_SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_SFmode:
              if (!register_operand (operands[1], E_SFmode))
                return -1;
              return 67;

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

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

            default:
              return -1;
            }

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_DFmode:
              if (!register_operand (operands[1], E_DFmode))
                return -1;
              return 70;

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

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

            default:
              return -1;
            }

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern12 (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);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_SImode:
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

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

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

        default:
          return -1;
        }

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

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

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

        default:
          return -1;
        }

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern13 (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
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
      || !register_operand (operands[1], i1)
      || !aarch64_sve_vsm_immediate (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern15 (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:
      switch (GET_MODE (operands[0]))
        {
        case E_SFmode:
          return pattern13 (x3, E_SFmode); /* [-1, 0] */

        case E_DFmode:
          if (pattern13 (x3, E_DFmode) != 0)
            return -1;
          return 1;

        case E_V8QImode:
          if (pattern13 (x3, E_V8QImode) != 0)
            return -1;
          return 2;

        case E_V16QImode:
          if (pattern13 (x3, E_V16QImode) != 0)
            return -1;
          return 3;

        case E_V4HImode:
          if (pattern13 (x3, E_V4HImode) != 0)
            return -1;
          return 4;

        case E_V8HImode:
          if (pattern13 (x3, E_V8HImode) != 0)
            return -1;
          return 5;

        case E_V2SImode:
          if (pattern13 (x3, E_V2SImode) != 0)
            return -1;
          return 6;

        case E_V4SImode:
          if (pattern13 (x3, E_V4SImode) != 0)
            return -1;
          return 7;

        case E_V4HFmode:
          if (pattern13 (x3, E_V4HFmode) != 0)
            return -1;
          return 8;

        case E_V8HFmode:
          if (pattern13 (x3, E_V8HFmode) != 0)
            return -1;
          return 9;

        case E_V2SFmode:
          if (pattern13 (x3, E_V2SFmode) != 0)
            return -1;
          return 10;

        case E_V4SFmode:
          if (pattern13 (x3, E_V4SFmode) != 0)
            return -1;
          return 11;

        case E_V2DFmode:
          if (pattern13 (x3, E_V2DFmode) != 0)
            return -1;
          return 12;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern14 (x3, E_VNx16QImode) != 0)
            return -1;
          return 13;

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

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

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

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

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

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

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

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern16 (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)
      || !aarch64_sve_vsb_immediate (operands[2], i1))
    return -1;
  return 0;
}

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_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          return pattern13 (x3, E_V8QImode); /* [-1, 0] */

        case E_V16QImode:
          if (pattern13 (x3, E_V16QImode) != 0)
            return -1;
          return 1;

        case E_V4HImode:
          if (pattern13 (x3, E_V4HImode) != 0)
            return -1;
          return 2;

        case E_V8HImode:
          if (pattern13 (x3, E_V8HImode) != 0)
            return -1;
          return 3;

        case E_V2SImode:
          if (pattern13 (x3, E_V2SImode) != 0)
            return -1;
          return 4;

        case E_V4SImode:
          if (pattern13 (x3, E_V4SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    case CONST_VECTOR:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern16 (x3, E_VNx16QImode) != 0)
            return -1;
          return 6;

        case E_VNx8QImode:
          if (pattern16 (x3, E_VNx8QImode) != 0)
            return -1;
          return 7;

        case E_VNx4QImode:
          if (pattern16 (x3, E_VNx4QImode) != 0)
            return -1;
          return 8;

        case E_VNx2QImode:
          if (pattern16 (x3, E_VNx2QImode) != 0)
            return -1;
          return 9;

        case E_VNx8HImode:
          if (pattern16 (x3, E_VNx8HImode) != 0)
            return -1;
          return 10;

        case E_VNx4HImode:
          if (pattern16 (x3, E_VNx4HImode) != 0)
            return -1;
          return 11;

        case E_VNx2HImode:
          if (pattern16 (x3, E_VNx2HImode) != 0)
            return -1;
          return 12;

        case E_VNx4SImode:
          if (pattern16 (x3, E_VNx4SImode) != 0)
            return -1;
          return 13;

        case E_VNx2SImode:
          if (pattern16 (x3, E_VNx2SImode) != 0)
            return -1;
          return 14;

        case E_VNx2DImode:
          if (pattern16 (x3, E_VNx2DImode) != 0)
            return -1;
          return 15;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern18 (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);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (!register_operand (operands[0], E_QImode)
          || GET_MODE (x3) != E_QImode
          || !register_operand (operands[1], E_HImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

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);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode))
        return -1;
      return 0;

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern20 (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);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) != E_SImode
          || !aarch64_shift_imm_si (operands[2], E_QImode)
          || GET_MODE (x2) != E_SImode)
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode)
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_MODE (x4) != E_DImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) != E_DImode
          || !aarch64_shift_imm_di (operands[2], E_QImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern21 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case AND:
      return 0;

    case ASHIFT:
      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 (x5, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_VOIDmode))
        return -1;
      x8 = XEXP (x4, 1);
      operands[2] = x8;
      res = pattern20 (x3);
      if (res >= 0)
        return res + 1; /* [1, 2] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern22 (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, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  if (!register_operand (operands[2], E_SImode))
    return -1;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  if (!const_int_operand (operands[3], E_VOIDmode))
    return -1;
  return pattern1 (x1); /* [-1, 1] */
}

static int
pattern23 (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_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != AND
      || GET_MODE (x4) != E_SImode)
    return -1;
  return pattern22 (x1); /* [-1, 1] */
}

static int
pattern24 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[4] = x2;
  if (!subreg_lowpart_operator (operands[4], E_VOIDmode))
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != NEG)
    return -1;
  return pattern23 (x1); /* [-1, 1] */
}

static int
pattern25 (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);
  switch (GET_CODE (x5))
    {
    case SUBREG:
    case TRUNCATE:
      return pattern24 (x3); /* [-1, 1] */

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

    case REG:
      operands[2] = x5;
      if (!aarch64_simd_register (operands[2], E_QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_DImode:
          if (!aarch64_simd_register (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || !aarch64_simd_register (operands[1], E_DImode))
            return -1;
          return 4;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

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

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

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

    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 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x3) != E_DImode)
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 3
          || XINT (x4, 1) != 291
          || GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XVECEXP (x4, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || GET_MODE (x2) != E_VNx2DImode)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x4, 0, 2);
      operands[2] = x7;
      if (!register_operand (operands[2], E_VNx2BImode)
          || !register_operand (operands[1], E_VNx2DImode))
        return -1;
      return 0;

    case UNSPEC:
      if (XVECLEN (x3, 0) != 3
          || XINT (x3, 1) != 291
          || GET_MODE (x3) != E_SImode)
        return -1;
      x8 = XVECEXP (x3, 0, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || GET_MODE (x2) != E_VNx4SImode)
        return -1;
      x9 = XVECEXP (x3, 0, 0);
      operands[3] = x9;
      x10 = XVECEXP (x3, 0, 2);
      operands[2] = x10;
      if (!register_operand (operands[2], E_VNx4BImode)
          || !register_operand (operands[1], E_VNx4SImode))
        return -1;
      return 1;

    case SUBREG:
    case TRUNCATE:
      operands[3] = x3;
      if (!subreg_lowpart_operator (operands[3], E_HImode))
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 3
          || XINT (x4, 1) != 291
          || GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XVECEXP (x4, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x1) != E_VNx8HImode
          || GET_MODE (x2) != E_VNx8HImode)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[4] = x6;
      x7 = XVECEXP (x4, 0, 2);
      operands[2] = x7;
      if (!register_operand (operands[2], E_VNx8BImode)
          || !register_operand (operands[1], E_VNx8HImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern28 (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[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 1);
  operands[1] = x4;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x5) != E_DImode)
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 3
          || XINT (x6, 1) != 291
          || GET_MODE (x6) != E_SImode)
        return -1;
      x7 = XVECEXP (x6, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode)
        return -1;
      x8 = XVECEXP (x6, 0, 0);
      operands[3] = x8;
      x9 = XVECEXP (x6, 0, 2);
      operands[2] = x9;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      return pattern26 (); /* [-1, 3] */

    case VEC_DUPLICATE:
      res = pattern27 (x3);
      if (res >= 0)
        return res + 4; /* [4, 6] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern29 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[3] = x2;
  x3 = XVECEXP (x1, 0, 2);
  operands[2] = x3;
  switch (GET_MODE (operands[2]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[2], E_VNx16BImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern30 (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) != E_DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 291
      || GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XVECEXP (x3, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode
      || !register_operand (operands[1], E_DImode))
    return -1;
  return pattern29 (x3); /* [-1, 3] */
}

static int
pattern31 (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);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x3) != E_DImode)
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 3
          || XINT (x4, 1) != 291
          || GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XVECEXP (x4, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2DImode)
          || GET_MODE (x2) != E_VNx2DImode)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x4, 0, 2);
      operands[2] = x7;
      if (!register_operand (operands[2], E_VNx2BImode))
        return -1;
      return 0;

    case UNSPEC:
      if (XVECLEN (x3, 0) != 3
          || XINT (x3, 1) != 291
          || GET_MODE (x3) != E_SImode)
        return -1;
      x8 = XVECEXP (x3, 0, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || !register_operand (operands[1], E_VNx4SImode)
          || GET_MODE (x2) != E_VNx4SImode)
        return -1;
      x9 = XVECEXP (x3, 0, 0);
      operands[3] = x9;
      x10 = XVECEXP (x3, 0, 2);
      operands[2] = x10;
      if (!register_operand (operands[2], E_VNx4BImode))
        return -1;
      return 1;

    case SUBREG:
    case TRUNCATE:
      operands[3] = x3;
      if (!subreg_lowpart_operator (operands[3], E_HImode))
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 3
          || XINT (x4, 1) != 291
          || GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XVECEXP (x4, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x1) != E_VNx8HImode
          || !register_operand (operands[1], E_VNx8HImode)
          || GET_MODE (x2) != E_VNx8HImode)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[4] = x6;
      x7 = XVECEXP (x4, 0, 2);
      operands[2] = x7;
      if (!register_operand (operands[2], E_VNx8BImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern32 (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);
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      return pattern30 (x3); /* [-1, 3] */

    case VEC_DUPLICATE:
      res = pattern31 (x3);
      if (res >= 0)
        return res + 4; /* [4, 6] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern33 (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, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x2) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x6 = XEXP (x3, 1);
  operands[2] = x6;
  if (!register_operand (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern34 (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 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x4, 1);
  operands[2] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode)
        return -1;
      switch (GET_MODE (x4))
        {
        case E_SImode:
          if (!register_operand (operands[1], E_SImode)
              || !aarch64_reg_or_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 0;

        case E_QImode:
          if (!register_operand (operands[1], E_QImode)
              || !const_int_operand (operands[2], E_VOIDmode))
            return -1;
          return 1;

        case E_HImode:
          if (!register_operand (operands[1], E_HImode)
              || !const_int_operand (operands[2], E_VOIDmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !const_int_operand (operands[2], E_VOIDmode))
        return -1;
      switch (GET_MODE (x4))
        {
        case E_QImode:
          if (!register_operand (operands[1], E_QImode))
            return -1;
          return 3;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern35 (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, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x2) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x6 = XEXP (x3, 1);
  operands[2] = x6;
  if (!aarch64_reg_or_shift_imm_si (operands[2], E_QImode))
    return -1;
  return 0;
}

static int
pattern36 (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);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 1
      || XINT (x4, 1) != 4
      || GET_MODE (x4) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  operands[0] = x5;
  if (!aarch64_call_insn_operand (operands[0], E_DImode))
    return -1;
  x6 = XEXP (x2, 1);
  operands[1] = x6;
  x7 = XVECEXP (x4, 0, 0);
  operands[2] = x7;
  if (!const_int_operand (operands[2], E_DImode))
    return -1;
  return 0;
}

static int
pattern37 (rtx x1, int i1, int i2)
{
  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) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != i2
      || XINT (x3, 1) != i1)
    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) != 66
      || GET_MODE (x5) != E_CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  return 0;
}

static int
pattern38 (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) != E_CCmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 66
      || GET_MODE (x3) != E_CCmode)
    return -1;
  return 0;
}

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

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_shift_imm_di (operands[2], E_QImode)
          || !register_operand (operands[3], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern40 (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;
  return pattern39 (x1); /* [-1, 1] */
}

static int
pattern41 (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 E_QImode:
      if (!register_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern42 (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 (!const_int_operand (operands[2], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern41 (x1, E_SImode); /* [-1, 1] */

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

    default:
      return -1;
    }
}

static int
pattern43 (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)
      || !aarch64_simd_rshift_imm (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern44 (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_CODE (operands[2]))
    {
    case CONST_INT:
      return pattern39 (x1); /* [-1, 1] */

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern43 (x1, E_V8QImode) != 0)
            return -1;
          return 2;

        case E_V16QImode:
          if (pattern43 (x1, E_V16QImode) != 0)
            return -1;
          return 3;

        case E_V4HImode:
          if (pattern43 (x1, E_V4HImode) != 0)
            return -1;
          return 4;

        case E_V8HImode:
          if (pattern43 (x1, E_V8HImode) != 0)
            return -1;
          return 5;

        case E_V2SImode:
          if (pattern43 (x1, E_V2SImode) != 0)
            return -1;
          return 6;

        case E_V4SImode:
          if (pattern43 (x1, E_V4SImode) != 0)
            return -1;
          return 7;

        case E_V2DImode:
          if (pattern43 (x1, E_V2DImode) != 0)
            return -1;
          return 8;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern45 (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)
      || !const_int_operand (operands[2], i1)
      || !aarch64_plus_immediate (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern46 (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);
  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 E_SImode:
      return pattern45 (x1, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern45 (x1, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern47 (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
      || !register_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
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern48 (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;
  x5 = XEXP (x3, 1);
  if (!rtx_equal_p (x5, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern47 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern47 (x1, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern47 (x1, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern49 (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
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern50 (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
      || pattern49 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern51 (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 E_V8HImode:
      return pattern50 (x1, E_V8QImode, E_V8HImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern50 (x1, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern50 (x1, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern52 (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, 1);
  if (GET_CODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      x5 = XEXP (x2, 0);
      if (GET_CODE (x5) != VEC_SELECT)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x4, 1);
      operands[3] = x7;
      return pattern48 (x1); /* [-1, 2] */

    case REG:
    case SUBREG:
      res = pattern51 (x1);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern53 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode
          || GET_MODE (x2) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern54 (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 (x1, 1);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x1) != E_SFmode
          || GET_MODE (x2) != E_SFmode
          || !aarch64_fp_pow2_recip (operands[2], E_SFmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_SImode:
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x1) != E_DFmode
          || GET_MODE (x2) != E_DFmode
          || !aarch64_fp_pow2_recip (operands[2], E_DFmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_DImode:
          if (!register_operand (operands[1], E_DImode))
            return -1;
          return 2;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern55 (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) != E_DFmode)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL
      || XVECLEN (x3, 0) != 1
      || !register_operand (operands[0], E_DFmode)
      || GET_MODE (x1) != E_DFmode)
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_V2DFmode))
    return -1;
  x5 = XVECEXP (x3, 0, 0);
  operands[2] = x5;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern56 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x1) != E_V8QImode
          || GET_MODE (x2) != E_V8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !aarch64_simd_shift_imm_vec_qi (operands[2], E_V8HImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern57 (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;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], i2))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], i2))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern58 (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 (!register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern59 (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;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_SFmode:
          if (!register_operand (operands[1], E_SFmode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

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

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

        default:
          return -1;
        }

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern60 (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;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 0;

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

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

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

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

        default:
          return -1;
        }

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern61 (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
pattern62 (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 E_HFmode:
      return pattern61 (x3, E_HFmode); /* [-1, 0] */

    case E_SFmode:
      if (pattern61 (x3, E_SFmode) != 0)
        return -1;
      return 1;

    case E_DFmode:
      if (pattern61 (x3, E_DFmode) != 0)
        return -1;
      return 2;

    case E_V4HFmode:
      if (pattern61 (x3, E_V4HFmode) != 0)
        return -1;
      return 3;

    case E_V8HFmode:
      if (pattern61 (x3, E_V8HFmode) != 0)
        return -1;
      return 4;

    case E_V2SFmode:
      if (pattern61 (x3, E_V2SFmode) != 0)
        return -1;
      return 5;

    case E_V4SFmode:
      if (pattern61 (x3, E_V4SFmode) != 0)
        return -1;
      return 6;

    case E_V2DFmode:
      if (pattern61 (x3, E_V2DFmode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

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);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  if (!aarch64_tls_le_symref (operands[2], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern64 (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) != E_BLKmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != E_BLKmode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SCRATCH)
    return -1;
  return 0;
}

static int
pattern65 (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);
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != i2
      || GET_MODE (x4) != i1)
    return -1;
  return 0;
}

static int
pattern66 (rtx x1, unsigned int 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) != E_DImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != i1
      || GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != i2
      || pattern65 (x1, E_DImode, i1) != 0)
    return -1;
  return 0;
}

static int
pattern67 (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) != E_DImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 15
      || GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 15
      || GET_MODE (x4) != E_DImode)
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[0] = x5;
  return 0;
}

static int
pattern68 (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 E_V4HFmode:
      return pattern61 (x3, E_V4HFmode); /* [-1, 0] */

    case E_V8HFmode:
      if (pattern61 (x3, E_V8HFmode) != 0)
        return -1;
      return 1;

    case E_V2SFmode:
      if (pattern61 (x3, E_V2SFmode) != 0)
        return -1;
      return 2;

    case E_V4SFmode:
      if (pattern61 (x3, E_V4SFmode) != 0)
        return -1;
      return 3;

    case E_V2DFmode:
      if (pattern61 (x3, E_V2DFmode) != 0)
        return -1;
      return 4;

    default:
      return -1;
    }
}

static int
pattern69 (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 E_V4HFmode:
      return pattern61 (x3, E_V4HFmode); /* [-1, 0] */

    case E_V8HFmode:
      if (pattern61 (x3, E_V8HFmode) != 0)
        return -1;
      return 1;

    case E_V2SFmode:
      if (pattern61 (x3, E_V2SFmode) != 0)
        return -1;
      return 2;

    case E_V4SFmode:
      if (pattern61 (x3, E_V4SFmode) != 0)
        return -1;
      return 3;

    case E_V2DFmode:
      if (pattern61 (x3, E_V2DFmode) != 0)
        return -1;
      return 4;

    case E_HFmode:
      if (pattern61 (x3, E_HFmode) != 0)
        return -1;
      return 5;

    case E_SFmode:
      if (pattern61 (x3, E_SFmode) != 0)
        return -1;
      return 6;

    case E_DFmode:
      if (pattern61 (x3, E_DFmode) != 0)
        return -1;
      return 7;

    case E_VNx8HFmode:
      if (pattern61 (x3, E_VNx8HFmode) != 0)
        return -1;
      return 8;

    case E_VNx4SFmode:
      if (pattern61 (x3, E_VNx4SFmode) != 0)
        return -1;
      return 9;

    case E_VNx2DFmode:
      if (pattern61 (x3, E_VNx2DFmode) != 0)
        return -1;
      return 10;

    default:
      return -1;
    }
}

static int
pattern70 (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)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern71 (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;
  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 E_V8HImode:
      return pattern70 (x3, i1, E_V8HImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern70 (x3, i2, E_V4SImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern70 (x3, i3, E_V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern72 (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)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern73 (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[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V4HImode:
      return pattern72 (x3, E_V4HImode, E_V8QImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern72 (x3, E_V8HImode, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V2SImode:
      if (pattern72 (x3, E_V2SImode, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V4SImode:
      if (pattern72 (x3, E_V4SImode, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2DImode:
      if (pattern72 (x3, E_V2DImode, E_V4SImode) != 0)
        return -1;
      return 4;

    case E_DImode:
      if (pattern72 (x3, E_DImode, E_V2SImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern74 (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 E_V8QImode:
      return pattern61 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern61 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern61 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern61 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern61 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern61 (x3, E_V2DImode) != 0)
        return -1;
      return 6;

    default:
      return -1;
    }
}

static int
pattern75 (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
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern76 (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 E_V8QImode:
      return pattern61 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern61 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern61 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern61 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern61 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_QImode:
      if (pattern75 (x3, E_VNx16QImode, E_VNx16BImode, E_QImode) != 0)
        return -1;
      return 6;

    case E_HImode:
      if (pattern75 (x3, E_VNx8HImode, E_VNx8BImode, E_HImode) != 0)
        return -1;
      return 7;

    case E_SImode:
      if (pattern75 (x3, E_VNx4SImode, E_VNx4BImode, E_SImode) != 0)
        return -1;
      return 8;

    case E_DImode:
      if (pattern75 (x3, E_VNx2DImode, E_VNx2BImode, E_DImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern77 (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 E_V4HFmode:
      return pattern61 (x3, E_V4HFmode); /* [-1, 0] */

    case E_V8HFmode:
      if (pattern61 (x3, E_V8HFmode) != 0)
        return -1;
      return 1;

    case E_V2SFmode:
      if (pattern61 (x3, E_V2SFmode) != 0)
        return -1;
      return 2;

    case E_V4SFmode:
      if (pattern61 (x3, E_V4SFmode) != 0)
        return -1;
      return 3;

    case E_V2DFmode:
      if (pattern61 (x3, E_V2DFmode) != 0)
        return -1;
      return 4;

    case E_HFmode:
      if (pattern75 (x3, E_VNx8HFmode, E_VNx8BImode, E_HFmode) != 0)
        return -1;
      return 5;

    case E_SFmode:
      if (pattern75 (x3, E_VNx4SFmode, E_VNx4BImode, E_SFmode) != 0)
        return -1;
      return 6;

    case E_DFmode:
      if (pattern75 (x3, E_VNx2DFmode, E_VNx2BImode, E_DFmode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern78 (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 E_V8QImode:
      return pattern61 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern61 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern61 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern61 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern61 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern79 (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 E_V8QImode:
      return pattern61 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern61 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern61 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern61 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern61 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern61 (x3, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_QImode:
      if (pattern61 (x3, E_QImode) != 0)
        return -1;
      return 7;

    case E_HImode:
      if (pattern61 (x3, E_HImode) != 0)
        return -1;
      return 8;

    case E_SImode:
      if (pattern61 (x3, E_SImode) != 0)
        return -1;
      return 9;

    case E_DImode:
      if (pattern61 (x3, E_DImode) != 0)
        return -1;
      return 10;

    default:
      return -1;
    }
}

static int
pattern80 (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 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern81 (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))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != E_HImode)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V4HImode:
      if (!register_operand (operands[2], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern82 (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))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != E_SImode)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V2SImode:
      if (!register_operand (operands[2], E_V2SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern83 (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))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern84 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V4HImode:
          return pattern61 (x3, E_V4HImode); /* [-1, 0] */

        case E_V8HImode:
          if (pattern61 (x3, E_V8HImode) != 0)
            return -1;
          return 1;

        case E_V2SImode:
          if (pattern61 (x3, E_V2SImode) != 0)
            return -1;
          return 2;

        case E_V4SImode:
          if (pattern61 (x3, E_V4SImode) != 0)
            return -1;
          return 3;

        case E_HImode:
          if (pattern61 (x3, E_HImode) != 0)
            return -1;
          return 4;

        case E_SImode:
          if (pattern61 (x3, E_SImode) != 0)
            return -1;
          return 5;

        case E_VNx16QImode:
          if (pattern61 (x3, E_VNx16QImode) != 0)
            return -1;
          return 6;

        case E_VNx8HImode:
          if (pattern61 (x3, E_VNx8HImode) != 0)
            return -1;
          return 7;

        case E_VNx4SImode:
          if (pattern61 (x3, E_VNx4SImode) != 0)
            return -1;
          return 8;

        case E_VNx2DImode:
          if (pattern61 (x3, E_VNx2DImode) != 0)
            return -1;
          return 9;

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x6 = XEXP (x5, 0);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V4HImode:
          if (pattern80 (x3, E_HImode, E_V4HImode) != 0)
            return -1;
          return 10;

        case E_V8HImode:
          if (pattern80 (x3, E_HImode, E_V8HImode) != 0)
            return -1;
          return 11;

        case E_V2SImode:
          if (pattern80 (x3, E_SImode, E_V2SImode) != 0)
            return -1;
          return 12;

        case E_V4SImode:
          if (pattern80 (x3, E_SImode, E_V4SImode) != 0)
            return -1;
          return 13;

        default:
          return -1;
        }

    case VEC_SELECT:
      x7 = XEXP (x5, 1);
      if (GET_CODE (x7) != PARALLEL
          || XVECLEN (x7, 0) != 1)
        return -1;
      x6 = XEXP (x5, 0);
      operands[2] = x6;
      x8 = XVECEXP (x7, 0, 0);
      operands[3] = x8;
      if (!immediate_operand (operands[3], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4HImode:
          res = pattern81 (x3, E_V4HImode);
          if (res >= 0)
            return res + 14; /* [14, 15] */
          return -1;

        case E_V8HImode:
          res = pattern81 (x3, E_V8HImode);
          if (res >= 0)
            return res + 16; /* [16, 17] */
          return -1;

        case E_V2SImode:
          res = pattern82 (x3, E_V2SImode);
          if (res >= 0)
            return res + 18; /* [18, 19] */
          return -1;

        case E_V4SImode:
          res = pattern82 (x3, E_V4SImode);
          if (res >= 0)
            return res + 20; /* [20, 21] */
          return -1;

        case E_HImode:
          res = pattern81 (x3, E_HImode);
          if (res >= 0)
            return res + 22; /* [22, 23] */
          return -1;

        case E_SImode:
          res = pattern82 (x3, E_SImode);
          if (res >= 0)
            return res + 24; /* [24, 25] */
          return -1;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 153)
        return -1;
      x9 = XVECEXP (x5, 0, 0);
      operands[2] = x9;
      x10 = XVECEXP (x5, 0, 1);
      operands[3] = x10;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern83 (x3, E_VNx8HImode) != 0)
            return -1;
          return 26;

        case E_VNx4SImode:
          if (pattern83 (x3, E_VNx4SImode) != 0)
            return -1;
          return 27;

        case E_VNx2DImode:
          if (pattern83 (x3, E_VNx2DImode) != 0)
            return -1;
          return 28;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern85 (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 E_V8QImode:
      return pattern61 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern61 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern61 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern61 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern61 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern61 (x3, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_DImode:
      if (pattern61 (x3, E_DImode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern86 (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)
      || !aarch64_simd_shift_imm_qi (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern87 (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)
      || !aarch64_simd_shift_imm_hi (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern88 (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)
      || !aarch64_simd_shift_imm_si (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern89 (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)
      || !aarch64_simd_shift_imm_di (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern90 (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_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          return pattern61 (x3, E_V8QImode); /* [-1, 0] */

        case E_V16QImode:
          if (pattern61 (x3, E_V16QImode) != 0)
            return -1;
          return 1;

        case E_V4HImode:
          if (pattern61 (x3, E_V4HImode) != 0)
            return -1;
          return 2;

        case E_V8HImode:
          if (pattern61 (x3, E_V8HImode) != 0)
            return -1;
          return 3;

        case E_V2SImode:
          if (pattern61 (x3, E_V2SImode) != 0)
            return -1;
          return 4;

        case E_V4SImode:
          if (pattern61 (x3, E_V4SImode) != 0)
            return -1;
          return 5;

        case E_V2DImode:
          if (pattern61 (x3, E_V2DImode) != 0)
            return -1;
          return 6;

        case E_QImode:
          if (pattern61 (x3, E_QImode) != 0)
            return -1;
          return 7;

        case E_HImode:
          if (pattern61 (x3, E_HImode) != 0)
            return -1;
          return 8;

        case E_SImode:
          if (pattern61 (x3, E_SImode) != 0)
            return -1;
          return 9;

        case E_DImode:
          if (pattern61 (x3, E_DImode) != 0)
            return -1;
          return 10;

        default:
          return -1;
        }

    case CONST_INT:
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern86 (x3, E_V8QImode) != 0)
            return -1;
          return 11;

        case E_V16QImode:
          if (pattern86 (x3, E_V16QImode) != 0)
            return -1;
          return 12;

        case E_V4HImode:
          if (pattern87 (x3, E_V4HImode) != 0)
            return -1;
          return 13;

        case E_V8HImode:
          if (pattern87 (x3, E_V8HImode) != 0)
            return -1;
          return 14;

        case E_V2SImode:
          if (pattern88 (x3, E_V2SImode) != 0)
            return -1;
          return 15;

        case E_V4SImode:
          if (pattern88 (x3, E_V4SImode) != 0)
            return -1;
          return 16;

        case E_V2DImode:
          if (pattern89 (x3, E_V2DImode) != 0)
            return -1;
          return 17;

        case E_QImode:
          if (pattern86 (x3, E_QImode) != 0)
            return -1;
          return 18;

        case E_HImode:
          if (pattern87 (x3, E_HImode) != 0)
            return -1;
          return 19;

        case E_SImode:
          if (pattern88 (x3, E_SImode) != 0)
            return -1;
          return 20;

        case E_DImode:
          if (pattern89 (x3, E_DImode) != 0)
            return -1;
          return 21;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern91 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      x7 = XVECEXP (x3, 0, 1);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || GET_MODE (x4) != E_V8QImode
              || !register_operand (operands[1], E_V16QImode)
              || !aarch64_simd_shift_imm_bitsize_qi (operands[3], E_SImode))
            return -1;
          return 0;

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || GET_MODE (x4) != E_V4HImode
              || !register_operand (operands[1], E_V8HImode)
              || !aarch64_simd_shift_imm_bitsize_hi (operands[3], E_SImode))
            return -1;
          return 1;

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || GET_MODE (x4) != E_V2SImode
              || !register_operand (operands[1], E_V4SImode)
              || !aarch64_simd_shift_imm_bitsize_si (operands[3], E_SImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x4;
      x7 = XVECEXP (x3, 0, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_V8QImode:
              if (!register_operand (operands[1], E_V8QImode)
                  || !aarch64_simd_shift_imm_bitsize_qi (operands[2], E_SImode))
                return -1;
              return 3;

            case E_V16QImode:
              if (!register_operand (operands[1], E_V16QImode)
                  || !immediate_operand (operands[2], E_SImode))
                return -1;
              return 4;

            default:
              return -1;
            }

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_V4HImode:
              if (!register_operand (operands[1], E_V4HImode)
                  || !aarch64_simd_shift_imm_bitsize_hi (operands[2], E_SImode))
                return -1;
              return 5;

            case E_V8HImode:
              if (!register_operand (operands[1], E_V8HImode)
                  || !immediate_operand (operands[2], E_SImode))
                return -1;
              return 6;

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_V2SImode:
              if (!register_operand (operands[1], E_V2SImode)
                  || !aarch64_simd_shift_imm_bitsize_si (operands[2], E_SImode))
                return -1;
              return 7;

            case E_V4SImode:
              if (!register_operand (operands[1], E_V4SImode)
                  || !immediate_operand (operands[2], E_SImode))
                return -1;
              return 8;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern92 (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)
      || !aarch64_simd_shift_imm_offset_qi (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern93 (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)
      || !aarch64_simd_shift_imm_offset_hi (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern94 (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)
      || !aarch64_simd_shift_imm_offset_si (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern95 (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], E_DImode)
      || !aarch64_simd_shift_imm_offset_di (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern96 (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 E_V8QImode:
      return pattern92 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern92 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern93 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern93 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern94 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern94 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

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

    case E_DImode:
      if (pattern95 (x3, E_DImode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern97 (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 E_QImode:
      if (!register_operand (operands[0], E_QImode)
          || GET_MODE (x3) != E_QImode
          || !register_operand (operands[1], E_HImode)
          || !aarch64_simd_shift_imm_offset_hi (operands[2], E_SImode))
        return -1;
      return 0;

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

    case E_SImode:
      if (pattern95 (x3, E_SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern98 (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;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], i2))
    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 (!register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern99 (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 E_V8QImode:
      return pattern61 (x3, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern61 (x3, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern61 (x3, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern61 (x3, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern61 (x3, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern61 (x3, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_V4HFmode:
      if (pattern61 (x3, E_V4HFmode) != 0)
        return -1;
      return 7;

    case E_V8HFmode:
      if (pattern61 (x3, E_V8HFmode) != 0)
        return -1;
      return 8;

    case E_V4BFmode:
      if (pattern61 (x3, E_V4BFmode) != 0)
        return -1;
      return 9;

    case E_V8BFmode:
      if (pattern61 (x3, E_V8BFmode) != 0)
        return -1;
      return 10;

    case E_V2SFmode:
      if (pattern61 (x3, E_V2SFmode) != 0)
        return -1;
      return 11;

    case E_V4SFmode:
      if (pattern61 (x3, E_V4SFmode) != 0)
        return -1;
      return 12;

    case E_V2DFmode:
      if (pattern61 (x3, E_V2DFmode) != 0)
        return -1;
      return 13;

    case E_VNx16QImode:
      if (pattern61 (x3, E_VNx16QImode) != 0)
        return -1;
      return 14;

    case E_VNx8QImode:
      if (pattern61 (x3, E_VNx8QImode) != 0)
        return -1;
      return 15;

    case E_VNx4QImode:
      if (pattern61 (x3, E_VNx4QImode) != 0)
        return -1;
      return 16;

    case E_VNx2QImode:
      if (pattern61 (x3, E_VNx2QImode) != 0)
        return -1;
      return 17;

    case E_VNx8HImode:
      if (pattern61 (x3, E_VNx8HImode) != 0)
        return -1;
      return 18;

    case E_VNx4HImode:
      if (pattern61 (x3, E_VNx4HImode) != 0)
        return -1;
      return 19;

    case E_VNx2HImode:
      if (pattern61 (x3, E_VNx2HImode) != 0)
        return -1;
      return 20;

    case E_VNx8HFmode:
      if (pattern61 (x3, E_VNx8HFmode) != 0)
        return -1;
      return 21;

    case E_VNx4HFmode:
      if (pattern61 (x3, E_VNx4HFmode) != 0)
        return -1;
      return 22;

    case E_VNx2HFmode:
      if (pattern61 (x3, E_VNx2HFmode) != 0)
        return -1;
      return 23;

    case E_VNx8BFmode:
      if (pattern61 (x3, E_VNx8BFmode) != 0)
        return -1;
      return 24;

    case E_VNx4BFmode:
      if (pattern61 (x3, E_VNx4BFmode) != 0)
        return -1;
      return 25;

    case E_VNx2BFmode:
      if (pattern61 (x3, E_VNx2BFmode) != 0)
        return -1;
      return 26;

    case E_VNx4SImode:
      if (pattern61 (x3, E_VNx4SImode) != 0)
        return -1;
      return 27;

    case E_VNx2SImode:
      if (pattern61 (x3, E_VNx2SImode) != 0)
        return -1;
      return 28;

    case E_VNx4SFmode:
      if (pattern61 (x3, E_VNx4SFmode) != 0)
        return -1;
      return 29;

    case E_VNx2SFmode:
      if (pattern61 (x3, E_VNx2SFmode) != 0)
        return -1;
      return 30;

    case E_VNx2DImode:
      if (pattern61 (x3, E_VNx2DImode) != 0)
        return -1;
      return 31;

    case E_VNx2DFmode:
      if (pattern61 (x3, E_VNx2DFmode) != 0)
        return -1;
      return 32;

    case E_VNx16BImode:
      if (pattern61 (x3, E_VNx16BImode) != 0)
        return -1;
      return 33;

    case E_VNx8BImode:
      if (pattern61 (x3, E_VNx8BImode) != 0)
        return -1;
      return 34;

    case E_VNx4BImode:
      if (pattern61 (x3, E_VNx4BImode) != 0)
        return -1;
      return 35;

    case E_VNx2BImode:
      if (pattern61 (x3, E_VNx2BImode) != 0)
        return -1;
      return 36;

    default:
      return -1;
    }
}

static int
pattern100 (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 E_V4SImode:
      return pattern61 (x3, E_V4SImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern61 (x3, E_VNx4SImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern101 (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 E_QImode:
      return pattern75 (x3, E_VNx16QImode, E_VNx16BImode, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern75 (x3, E_VNx8HImode, E_VNx8BImode, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern75 (x3, E_VNx4SImode, E_VNx4BImode, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern75 (x3, E_VNx2DImode, E_VNx2BImode, E_DImode) != 0)
        return -1;
      return 3;

    case E_BFmode:
      if (pattern75 (x3, E_VNx8BFmode, E_VNx8BImode, E_BFmode) != 0)
        return -1;
      return 4;

    case E_HFmode:
      if (pattern75 (x3, E_VNx8HFmode, E_VNx8BImode, E_HFmode) != 0)
        return -1;
      return 5;

    case E_SFmode:
      if (pattern75 (x3, E_VNx4SFmode, E_VNx4BImode, E_SFmode) != 0)
        return -1;
      return 6;

    case E_DFmode:
      if (pattern75 (x3, E_VNx2DFmode, E_VNx2BImode, E_DFmode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

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;
  if (!register_operand (operands[2], E_VNx2DImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x3) != E_VNx16QImode
          || !register_operand (operands[1], E_VNx16QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern103 (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], i1))
    return -1;
  return 0;
}

static int
pattern104 (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 E_VNx8HFmode:
      return pattern103 (x3, E_VNx8HImode, E_VNx8HFmode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern103 (x3, E_VNx4SImode, E_VNx4SFmode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern103 (x3, E_VNx2DImode, E_VNx2DFmode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern105 (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 E_VNx8HFmode:
      return pattern61 (x3, E_VNx8HFmode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern61 (x3, E_VNx4SFmode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern61 (x3, E_VNx2DFmode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern106 (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);
  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 E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x3) != E_VNx16BImode)
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern107 (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 E_QImode:
      return pattern75 (x3, E_VNx16QImode, E_VNx16BImode, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern75 (x3, E_VNx8HImode, E_VNx8BImode, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern75 (x3, E_VNx4SImode, E_VNx4BImode, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern75 (x3, E_VNx2DImode, E_VNx2BImode, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern108 (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 E_VNx16QImode:
      return pattern61 (x3, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern61 (x3, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern61 (x3, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern61 (x3, E_VNx2DImode) != 0)
        return -1;
      return 3;

    case E_VNx8BFmode:
      if (pattern61 (x3, E_VNx8BFmode) != 0)
        return -1;
      return 4;

    case E_VNx8HFmode:
      if (pattern61 (x3, E_VNx8HFmode) != 0)
        return -1;
      return 5;

    case E_VNx4SFmode:
      if (pattern61 (x3, E_VNx4SFmode) != 0)
        return -1;
      return 6;

    case E_VNx2DFmode:
      if (pattern61 (x3, E_VNx2DFmode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern109 (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 E_VNx8HImode:
      return pattern103 (x3, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern103 (x3, E_VNx8HImode, E_VNx4SImode) != 0)
        return -1;
      return 1;

    case E_VNx2DImode:
      if (pattern103 (x3, E_VNx4SImode, E_VNx2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern110 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  operands[2] = x2;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      return pattern70 (x1, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern70 (x1, E_VNx8HImode, E_VNx4SImode) != 0)
        return -1;
      return 1;

    case E_VNx2DImode:
      if (pattern70 (x1, E_VNx4SImode, E_VNx2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern111 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  return pattern110 (x3); /* [-1, 2] */
}

static int
pattern112 (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 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern113 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      return pattern110 (x3); /* [-1, 2] */

    case UNSPEC:
      if (XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 153)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      operands[2] = x6;
      x7 = XVECEXP (x5, 0, 1);
      operands[3] = x7;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern112 (x3, E_VNx8HImode, E_VNx4SImode) != 0)
            return -1;
          return 3;

        case E_VNx2DImode:
          if (pattern112 (x3, E_VNx4SImode, E_VNx2DImode) != 0)
            return -1;
          return 4;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

static int
pattern115 (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;
  if (!const_int_operand (operands[2], E_DImode))
    return -1;
  return pattern114 (x3); /* [-1, 2] */
}

static int
pattern116 (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 E_VNx16QImode:
      return pattern103 (x3, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern103 (x3, E_VNx4SImode, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern103 (x3, E_VNx2DImode, E_VNx4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern117 (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 E_VNx16QImode:
      return pattern70 (x3, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern70 (x3, E_VNx4SImode, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern70 (x3, E_VNx2DImode, E_VNx4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

static int
pattern119 (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;
  if (!const_int_operand (operands[2], E_DImode))
    return -1;
  return pattern118 (x3); /* [-1, 2] */
}

static int
pattern120 (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 E_VNx16QImode:
      return pattern61 (x3, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern61 (x3, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern61 (x3, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern61 (x3, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern121 (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 E_VNx8HImode:
      return pattern70 (x3, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx2DImode:
      if (pattern70 (x3, E_VNx4SImode, E_VNx2DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern122 (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 E_VNx16QImode:
      return pattern61 (x3, E_VNx16QImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern61 (x3, E_VNx4SImode) != 0)
        return -1;
      return 1;

    case E_VNx2DImode:
      if (pattern61 (x3, E_VNx2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern123 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode))
        return -1;
      return 0;

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

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

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

    default:
      return -1;
    }
}

static int
pattern125 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!aarch64_tls_le_symref (operands[1], E_VOIDmode))
    return -1;
  return pattern124 (x3); /* [-1, 1] */
}

static int
pattern126 (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 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != i2
      || GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != i2
      || GET_MODE (x4) != i1)
    return -1;
  return 0;
}

static int
pattern127 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode))
        return -1;
      return 0;

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern128 (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 E_V8QImode:
      if (!register_operand (operands[1], E_V8QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern129 (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 E_V4HImode:
      if (!register_operand (operands[1], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern130 (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 E_V4SImode:
      if (!register_operand (operands[1], E_V4SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern131 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_HImode:
      return pattern128 (x3, E_HImode); /* [-1, 1] */

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

    case E_DImode:
      res = pattern130 (x3, E_DImode);
      if (res >= 0)
        return res + 4; /* [4, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern132 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x3) != E_V4HImode
          || !register_operand (operands[1], E_V8QImode))
        return -1;
      return 0;

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern133 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode))
        return -1;
      return 0;

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern134 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode))
        return -1;
      return 0;

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern135 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode))
        return -1;
      return 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern136 (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);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern137 (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 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) != XOR)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  x6 = XEXP (x3, 1);
  operands[2] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      return pattern136 (x2, E_V16QImode); /* [-1, 0] */

    case E_VNx16QImode:
      if (pattern136 (x2, E_VNx16QImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern138 (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 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern139 (rtx x1, int 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);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x3) != E_V16QImode
              || !register_operand (operands[1], E_V16QImode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 1
          || XINT (x4, 1) != i1)
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      if (GET_CODE (x5) != XOR)
        return -1;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern138 (x3, E_V16QImode) != 0)
            return -1;
          return 2;

        case E_VNx16QImode:
          if (pattern138 (x3, E_VNx16QImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern140 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!aarch64_any_register_operand (operands[1], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x3) != E_VNx16QImode)
        return -1;
      return 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern141 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  return pattern114 (x3); /* [-1, 2] */
}

static int
pattern142 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      if (!register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x3) != E_VNx8HImode
          || !register_operand (operands[1], E_VNx16QImode))
        return -1;
      return 0;

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern143 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  return pattern118 (x3); /* [-1, 2] */
}

static int
pattern144 (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);
  if (GET_MODE (x2) != E_V4SImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], E_V4SImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_V4SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!register_operand (operands[2], E_V4SImode))
    return -1;
  x6 = XVECEXP (x2, 0, 2);
  operands[3] = x6;
  if (!register_operand (operands[3], E_V4SImode))
    return -1;
  x7 = XVECEXP (x2, 0, 3);
  operands[4] = x7;
  if (!aarch64_imm2 (operands[4], E_SImode))
    return -1;
  return 0;
}

static int
pattern145 (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)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern146 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[4] = x5;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  operands[2] = x6;
  x7 = XVECEXP (x3, 0, 3);
  operands[3] = x7;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern145 (x3, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern145 (x3, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern145 (x3, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern147 (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)
      || !aarch64_sve_float_maxmin_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern148 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[4] = x5;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  operands[2] = x6;
  x7 = XVECEXP (x3, 0, 3);
  operands[3] = x7;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern147 (x3, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern147 (x3, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern147 (x3, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern149 (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);
  if (GET_MODE (x2) != E_VNx4SFmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], E_VNx4SFmode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_VNx4SFmode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!register_operand (operands[2], E_VNx8BFmode))
    return -1;
  x6 = XVECEXP (x2, 0, 2);
  operands[3] = x6;
  if (!register_operand (operands[3], E_VNx8BFmode))
    return -1;
  x7 = XVECEXP (x2, 0, 3);
  operands[4] = x7;
  if (!const_int_operand (operands[4], E_SImode))
    return -1;
  return 0;
}

static int
pattern150 (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[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern151 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 3);
  operands[4] = x2;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8BImode:
      return pattern150 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4BImode:
      if (pattern150 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2BImode:
      if (pattern150 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern152 (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 (!aarch64_sve_ptrue_flag (operands[2], E_SImode))
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  operands[3] = x6;
  return pattern151 (x3); /* [-1, 2] */
}

static int
pattern153 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  if (!aarch64_sve_ptrue_flag (x5, E_SImode))
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
      operands[3] = x6;
      operands[2] = x5;
      return pattern151 (x3); /* [-1, 2] */

    case UNSPEC:
      if (XVECLEN (x6, 0) != 3
          || XINT (x6, 1) != 333)
        return -1;
      x7 = XVECEXP (x6, 0, 1);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x8 = XVECEXP (x3, 0, 3);
      if (GET_CODE (x8) != UNSPEC
          || XVECLEN (x8, 0) != 3
          || XINT (x8, 1) != 333)
        return -1;
      operands[4] = x5;
      x9 = XVECEXP (x6, 0, 2);
      operands[2] = x9;
      x10 = XVECEXP (x8, 0, 2);
      operands[3] = x10;
      return 3;

    default:
      return -1;
    }
}

static int
pattern154 (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 = XVECEXP (x2, 0, 5);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != E_BLKmode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SCRATCH)
    return -1;
  x5 = XVECEXP (x2, 0, 6);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 85
      || GET_MODE (x5) != E_VNx16BImode)
    return -1;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  return 0;
}

static int
pattern155 (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[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern156 (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[2] = x3;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  x5 = XEXP (x1, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      return pattern155 (x1, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8BImode:
      if (pattern155 (x1, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4BImode:
      if (pattern155 (x1, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2BImode:
      if (pattern155 (x1, E_VNx2BImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

static int
pattern158 (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)
    return -1;
  return pattern157 (); /* [-1, 2] */
}

static int
pattern159 (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 (x1, 1);
  operands[2] = x4;
  if (!const_int_operand (operands[2], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern158 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern158 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern160 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 = XEXP (x1, 0);
  operands[0] = x4;
  return pattern124 (x2); /* [-1, 1] */
}

static int
pattern161 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  switch (XINT (x1, 1))
    {
    case 154:
      x2 = XVECEXP (x1, 0, 0);
      operands[2] = x2;
      if (!const_int_operand (operands[2], E_DImode))
        return -1;
      x3 = XVECEXP (x1, 0, 1);
      operands[3] = x3;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x4 = XVECEXP (x1, 0, 2);
      operands[4] = x4;
      if (!const_int_operand (operands[4], E_DImode))
        return -1;
      return 0;

    case 291:
      x3 = XVECEXP (x1, 0, 1);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      operands[3] = x2;
      x4 = XVECEXP (x1, 0, 2);
      operands[2] = x4;
      res = pattern26 ();
      if (res >= 0)
        return res + 1; /* [1, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern162 (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);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 1);
  operands[1] = x4;
  if (!register_operand (operands[1], E_DImode))
    return -1;
  return pattern161 (x3); /* [-1, 4] */
}

static int
pattern163 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 3
      || !register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode)
    return -1;
  return pattern162 (x1); /* [-1, 4] */
}

static int
pattern164 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], E_VNx2DImode))
    return -1;
  switch (XINT (x1, 1))
    {
    case 154:
      x2 = XVECEXP (x1, 0, 0);
      operands[2] = x2;
      if (!const_int_operand (operands[2], E_DImode))
        return -1;
      x3 = XVECEXP (x1, 0, 1);
      operands[3] = x3;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x4 = XVECEXP (x1, 0, 2);
      operands[4] = x4;
      if (!const_int_operand (operands[4], E_DImode))
        return -1;
      return 0;

    case 291:
      x3 = XVECEXP (x1, 0, 1);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      operands[3] = x2;
      x4 = XVECEXP (x1, 0, 2);
      operands[2] = x4;
      if (!register_operand (operands[2], E_VNx2BImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern165 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], E_VNx4SImode))
    return -1;
  switch (XINT (x1, 1))
    {
    case 154:
      x2 = XVECEXP (x1, 0, 0);
      operands[2] = x2;
      if (!const_int_operand (operands[2], E_DImode))
        return -1;
      x3 = XVECEXP (x1, 0, 1);
      operands[3] = x3;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x4 = XVECEXP (x1, 0, 2);
      operands[4] = x4;
      if (!const_int_operand (operands[4], E_DImode))
        return -1;
      return 0;

    case 291:
      x3 = XVECEXP (x1, 0, 1);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      operands[3] = x2;
      x4 = XVECEXP (x1, 0, 2);
      operands[2] = x4;
      if (!register_operand (operands[2], E_VNx4BImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern166 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], E_VNx8HImode))
    return -1;
  x2 = XEXP (x1, 0);
  switch (XINT (x2, 1))
    {
    case 154:
      operands[5] = x1;
      x3 = XVECEXP (x2, 0, 0);
      operands[2] = x3;
      if (!const_int_operand (operands[2], E_DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 1);
      operands[3] = x4;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x5 = XVECEXP (x2, 0, 2);
      operands[4] = x5;
      if (!const_int_operand (operands[4], E_DImode))
        return -1;
      return 0;

    case 291:
      x4 = XVECEXP (x2, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      operands[3] = x1;
      x3 = XVECEXP (x2, 0, 0);
      operands[4] = x3;
      x5 = XVECEXP (x2, 0, 2);
      operands[2] = x5;
      if (!register_operand (operands[2], E_VNx8BImode))
        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x4) != E_DImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 3
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || GET_MODE (x3) != E_VNx2DImode
          || GET_MODE (x5) != E_SImode)
        return -1;
      return pattern164 (x5); /* [-1, 1] */

    case UNSPEC:
      if (XVECLEN (x4, 0) != 3
          || !register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || GET_MODE (x3) != E_VNx4SImode
          || GET_MODE (x4) != E_SImode)
        return -1;
      res = pattern165 (x4);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    case SUBREG:
    case TRUNCATE:
      if (!subreg_lowpart_operator (x4, E_HImode))
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 3
          || !register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x1) != E_VNx8HImode
          || GET_MODE (x3) != E_VNx8HImode
          || GET_MODE (x5) != E_SImode)
        return -1;
      res = pattern166 (x4);
      if (res >= 0)
        return res + 4; /* [4, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern168 (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)
      || !aarch64_imm24 (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern169 (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) != 66
      || GET_MODE (x3) != E_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;
  x8 = XEXP (x6, 1);
  operands[2] = x8;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern168 (x6, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern168 (x6, E_DImode) != 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;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 66
      || GET_MODE (x5) != E_CCmode)
    return -1;
  x6 = XEXP (x2, 0);
  operands[0] = x6;
  if (!register_operand (operands[0], E_DImode))
    return -1;
  x7 = XEXP (x3, 0);
  if (GET_MODE (x7) != E_DImode)
    return -1;
  switch (GET_CODE (x7))
    {
    case LT:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 0;

    case LE:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 1;

    case EQ:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 2;

    case GE:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 3;

    case GT:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 4;

    case LTU:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 5;

    case LEU:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 6;

    case GEU:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 7;

    case GTU:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 1);
      operands[2] = x9;
      if (!aarch64_simd_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 8;

    case NE:
      x8 = XEXP (x7, 0);
      if (GET_CODE (x8) != AND
          || GET_MODE (x8) != E_DImode)
        return -1;
      x9 = XEXP (x7, 1);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x10 = XEXP (x8, 0);
      operands[1] = x10;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x11 = XEXP (x8, 1);
      operands[2] = x11;
      if (!register_operand (operands[2], E_DImode))
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern171 (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
      || !aarch64_sync_memory_operand (operands[1], i1)
      || !aarch64_logical_operand (operands[2], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern172 (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, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  x6 = XEXP (x2, 0);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern171 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern171 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern171 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern171 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern173 (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);
  x6 = XEXP (x5, 1);
  x7 = XVECEXP (x6, 0, 2);
  operands[3] = x7;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  return pattern172 (x1); /* [-1, 3] */
}

static int
pattern174 (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 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 25)
    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 pattern173 (x1); /* [-1, 3] */
}

static int
pattern175 (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 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x2, 0);
  operands[2] = x7;
  if (!scratch_operand (operands[2], E_VNx16BImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x5) != E_VNx16QImode
          || !aarch64_sve_dup_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern176 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != UNSPEC
      || XVECLEN (x1, 0) != 1
      || XINT (x1, 1) != 4
      || GET_MODE (x1) != E_DImode)
    return -1;
  return 0;
}

static int
pattern177 (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);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != MEM
      || GET_MODE (x4) != E_DImode)
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  return pattern176 (x5); /* [-1, 0] */
}

static int
pattern178 (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
      || !aarch64_sync_memory_operand (operands[1], i1)
      || !aarch64_plus_operand (operands[2], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern179 (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, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  x6 = XEXP (x2, 0);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern178 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern178 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern178 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern178 (x1, E_DImode) != 0)
        return -1;
      return 3;

    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;
  rtx x10, x11, x12, x13;
  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_VOLATILE
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 25)
    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) != 66
      || GET_MODE (x5) != E_CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XVECEXP (x1, 0, 0);
  x8 = XEXP (x7, 0);
  operands[0] = x8;
  x9 = XEXP (x7, 1);
  x10 = XEXP (x9, 0);
  operands[1] = x10;
  x11 = XEXP (x9, 1);
  operands[2] = x11;
  x12 = XVECEXP (x3, 0, 2);
  operands[3] = x12;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x13 = XEXP (x6, 0);
  operands[4] = x13;
  if (!scratch_operand (operands[4], E_SImode))
    return -1;
  return pattern179 (x1); /* [-1, 3] */
}

static int
pattern181 (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, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 25)
    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) != 66
      || GET_MODE (x5) != E_CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XVECEXP (x1, 0, 0);
  x8 = XEXP (x7, 0);
  operands[0] = x8;
  x9 = XEXP (x7, 1);
  x10 = XEXP (x9, 0);
  operands[1] = x10;
  x11 = XEXP (x9, 1);
  operands[2] = x11;
  x12 = XVECEXP (x3, 0, 2);
  operands[3] = x12;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x13 = XEXP (x6, 0);
  operands[4] = x13;
  if (!scratch_operand (operands[4], E_SImode))
    return -1;
  return pattern172 (x1); /* [-1, 3] */
}

static int
pattern182 (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
pattern183 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern182 (x1, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern182 (x1, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern184 (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
pattern185 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != E_SImode)
        return -1;
      x3 = XEXP (x2, 0);
      if (GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode)
          || !register_operand (operands[3], E_SImode))
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != E_DImode)
        return -1;
      x3 = XEXP (x2, 0);
      if (GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_shift_imm_di (operands[2], E_QImode)
          || !register_operand (operands[3], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern186 (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);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  x6 = XEXP (x1, 1);
  operands[3] = x6;
  return pattern185 (x1); /* [-1, 1] */
}

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

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

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || !aarch64_shift_imm_di (operands[1], E_QImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern189 (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, 0);
  if (GET_MODE (x2) != E_CC_SWPmode)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != E_CC_SWPmode)
    return -1;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  operands[1] = x6;
  x7 = XEXP (x3, 1);
  operands[2] = x7;
  return pattern188 (x4); /* [-1, 1] */
}

static int
pattern190 (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, 1);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode
          || !register_operand (operands[3], E_SImode)
          || GET_MODE (x2) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode
          || !register_operand (operands[3], E_DImode)
          || GET_MODE (x2) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_shift_imm_di (operands[2], E_QImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern191 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[3] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  return pattern190 (x1); /* [-1, 1] */
}

static int
pattern192 (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)
      || !aarch64_simd_reg_or_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern193 (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], i1)
      || !aarch64_simd_reg_or_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern194 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      return pattern192 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern192 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x1) != E_V4HImode
          || GET_MODE (x2) != E_V4HImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V4HImode:
          if (!register_operand (operands[1], E_V4HImode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V4HImode))
            return -1;
          return 2;

        case E_V4HFmode:
          if (!register_operand (operands[1], E_V4HFmode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V4HFmode))
            return -1;
          return 3;

        default:
          return -1;
        }

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x1) != E_V8HImode
          || GET_MODE (x2) != E_V8HImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V8HImode:
          if (!register_operand (operands[1], E_V8HImode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V8HImode))
            return -1;
          return 4;

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

        default:
          return -1;
        }

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x1) != E_V2SImode
          || GET_MODE (x2) != E_V2SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V2SImode:
          if (!register_operand (operands[1], E_V2SImode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V2SImode))
            return -1;
          return 6;

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

        default:
          return -1;
        }

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x1) != E_V4SImode
          || GET_MODE (x2) != E_V4SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V4SImode:
          if (!register_operand (operands[1], E_V4SImode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V4SImode))
            return -1;
          return 8;

        case E_V4SFmode:
          if (!register_operand (operands[1], E_V4SFmode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V4SFmode))
            return -1;
          return 9;

        default:
          return -1;
        }

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || GET_MODE (x1) != E_V2DImode
          || GET_MODE (x2) != E_V2DImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V2DImode:
          if (!register_operand (operands[1], E_V2DImode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V2DImode))
            return -1;
          return 10;

        case E_V2DFmode:
          if (!register_operand (operands[1], E_V2DFmode)
              || !aarch64_simd_reg_or_zero (operands[2], E_V2DFmode))
            return -1;
          return 11;

        default:
          return -1;
        }

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode
          || GET_MODE (x2) != E_DImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_DImode:
          if (!register_operand (operands[1], E_DImode)
              || !aarch64_simd_reg_or_zero (operands[2], E_DImode))
            return -1;
          return 12;

        case E_DFmode:
          if (!register_operand (operands[1], E_DFmode)
              || !aarch64_simd_reg_or_zero (operands[2], E_DFmode))
            return -1;
          return 13;

        default:
          return -1;
        }

    case E_HImode:
      if (pattern193 (x1, E_HFmode, E_HImode) != 0)
        return -1;
      return 14;

    case E_SImode:
      if (pattern193 (x1, E_SFmode, E_SImode) != 0)
        return -1;
      return 15;

    default:
      return -1;
    }
}

static int
pattern195 (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) != i1
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern196 (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);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      return pattern194 (x1); /* [-1, 15] */

    case ABS:
      x4 = XEXP (x2, 1);
      if (GET_CODE (x4) != ABS)
        return -1;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V4HImode:
          if (pattern195 (x1, E_V4HFmode, E_V4HImode) != 0)
            return -1;
          return 16;

        case E_V8HImode:
          if (pattern195 (x1, E_V8HFmode, E_V8HImode) != 0)
            return -1;
          return 17;

        case E_V2SImode:
          if (pattern195 (x1, E_V2SFmode, E_V2SImode) != 0)
            return -1;
          return 18;

        case E_V4SImode:
          if (pattern195 (x1, E_V4SFmode, E_V4SImode) != 0)
            return -1;
          return 19;

        case E_V2DImode:
          if (pattern195 (x1, E_V2DFmode, E_V2DImode) != 0)
            return -1;
          return 20;

        case E_HImode:
          if (pattern195 (x1, E_HFmode, E_HImode) != 0)
            return -1;
          return 21;

        case E_SImode:
          if (pattern195 (x1, E_SFmode, E_SImode) != 0)
            return -1;
          return 22;

        case E_DImode:
          if (pattern195 (x1, E_DFmode, E_DImode) != 0)
            return -1;
          return 23;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern197 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      return pattern182 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern182 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern182 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern182 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern182 (x1, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern182 (x1, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern182 (x1, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_DImode:
      if (pattern192 (x1, E_DImode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern198 (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 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != E_DImode
      || !register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode
      || GET_MODE (x2) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x6 = XEXP (x4, 0);
  operands[2] = x6;
  if (!register_operand (operands[2], E_SImode))
    return -1;
  return 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern200 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], E_VNx16BImode))
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  operands[2] = x3;
  if (!aarch64_any_register_operand (operands[2], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x1) != E_VNx16QImode)
        return -1;
      return 0;

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

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

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

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

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

    case E_VNx2HImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2HImode)
          || GET_MODE (x1) != E_VNx2HImode)
        return -1;
      return 6;

    case E_VNx8HFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x1) != E_VNx8HFmode)
        return -1;
      return 7;

    case E_VNx4HFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4HFmode)
          || GET_MODE (x1) != E_VNx4HFmode)
        return -1;
      return 8;

    case E_VNx2HFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2HFmode)
          || GET_MODE (x1) != E_VNx2HFmode)
        return -1;
      return 9;

    case E_VNx8BFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8BFmode)
          || GET_MODE (x1) != E_VNx8BFmode)
        return -1;
      return 10;

    case E_VNx4BFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4BFmode)
          || GET_MODE (x1) != E_VNx4BFmode)
        return -1;
      return 11;

    case E_VNx2BFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2BFmode)
          || GET_MODE (x1) != E_VNx2BFmode)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode)
        return -1;
      return 13;

    case E_VNx2SImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2SImode)
          || GET_MODE (x1) != E_VNx2SImode)
        return -1;
      return 14;

    case E_VNx4SFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x1) != E_VNx4SFmode)
        return -1;
      return 15;

    case E_VNx2SFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2SFmode)
          || GET_MODE (x1) != E_VNx2SFmode)
        return -1;
      return 16;

    case E_VNx2DImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode)
        return -1;
      return 17;

    case E_VNx2DFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x1) != E_VNx2DFmode)
        return -1;
      return 18;

    default:
      return -1;
    }
}

static int
pattern201 (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)
      || !register_operand (operands[3], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern202 (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;
  x2 = XVECEXP (x1, 0, 0);
  operands[2] = x2;
  x3 = XVECEXP (x1, 0, 1);
  operands[3] = x3;
  x4 = XVECEXP (x1, 0, 2);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern201 (x1, E_V8HImode, i1); /* [-1, 0] */

    case E_V4SImode:
      if (pattern201 (x1, E_V4SImode, i2) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern201 (x1, E_V2DImode, i3) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern203 (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 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], i1))
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  operands[2] = x3;
  if (!register_operand (operands[2], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  operands[3] = x4;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern204 (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 = XVECEXP (x1, 0, 0);
  operands[2] = x2;
  if (!register_operand (operands[2], i1))
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  operands[3] = x3;
  if (!register_operand (operands[3], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern205 (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) != E_HImode)
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V4HImode:
      if (!register_operand (operands[3], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern206 (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) != E_SImode)
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V2SImode:
      if (!register_operand (operands[3], E_V2SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern207 (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[2], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern208 (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);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
      x3 = XVECEXP (x1, 0, 2);
      switch (GET_CODE (x3))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              return pattern203 (x1, E_V4HImode); /* [-1, 0] */

            case E_V8HImode:
              if (pattern203 (x1, E_V8HImode) != 0)
                return -1;
              return 1;

            case E_V2SImode:
              if (pattern203 (x1, E_V2SImode) != 0)
                return -1;
              return 2;

            case E_V4SImode:
              if (pattern203 (x1, E_V4SImode) != 0)
                return -1;
              return 3;

            case E_HImode:
              if (pattern203 (x1, E_HImode) != 0)
                return -1;
              return 4;

            case E_SImode:
              if (pattern203 (x1, E_SImode) != 0)
                return -1;
              return 5;

            case E_VNx16QImode:
              if (pattern204 (x1, E_VNx16QImode) != 0)
                return -1;
              return 6;

            case E_VNx8HImode:
              if (pattern204 (x1, E_VNx8HImode) != 0)
                return -1;
              return 7;

            case E_VNx4SImode:
              if (pattern204 (x1, E_VNx4SImode) != 0)
                return -1;
              return 8;

            case E_VNx2DImode:
              if (pattern204 (x1, E_VNx2DImode) != 0)
                return -1;
              return 9;

            default:
              return -1;
            }

        case VEC_SELECT:
          x4 = XEXP (x3, 1);
          if (GET_CODE (x4) != PARALLEL
              || XVECLEN (x4, 0) != 1)
            return -1;
          x5 = XVECEXP (x1, 0, 0);
          operands[1] = x5;
          operands[2] = x2;
          x6 = XEXP (x3, 0);
          operands[3] = x6;
          x7 = XVECEXP (x4, 0, 0);
          operands[4] = x7;
          if (!immediate_operand (operands[4], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              res = pattern205 (x1, E_V4HImode);
              if (res >= 0)
                return res + 10; /* [10, 11] */
              return -1;

            case E_V8HImode:
              res = pattern205 (x1, E_V8HImode);
              if (res >= 0)
                return res + 12; /* [12, 13] */
              return -1;

            case E_V2SImode:
              res = pattern206 (x1, E_V2SImode);
              if (res >= 0)
                return res + 14; /* [14, 15] */
              return -1;

            case E_V4SImode:
              res = pattern206 (x1, E_V4SImode);
              if (res >= 0)
                return res + 16; /* [16, 17] */
              return -1;

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

            case E_SImode:
              res = pattern206 (x1, E_SImode);
              if (res >= 0)
                return res + 20; /* [20, 21] */
              return -1;

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x2, 0) != 2
          || XINT (x2, 1) != 153)
        return -1;
      x5 = XVECEXP (x1, 0, 0);
      operands[2] = x5;
      x8 = XVECEXP (x2, 0, 0);
      operands[3] = x8;
      x9 = XVECEXP (x2, 0, 1);
      operands[4] = x9;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      x3 = XVECEXP (x1, 0, 2);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern207 (x1, E_VNx8HImode) != 0)
            return -1;
          return 22;

        case E_VNx4SImode:
          if (pattern207 (x1, E_VNx4SImode) != 0)
            return -1;
          return 23;

        case E_VNx2DImode:
          if (pattern207 (x1, E_VNx2DImode) != 0)
            return -1;
          return 24;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern209 (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)
      || !aarch64_simd_shift_imm_offset_qi (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern210 (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)
      || !aarch64_simd_shift_imm_offset_hi (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern211 (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)
      || !aarch64_simd_shift_imm_offset_si (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern212 (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)
      || !aarch64_simd_shift_imm_offset_di (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern213 (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 E_V8QImode:
      return pattern209 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern209 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern210 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern210 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern211 (x1, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern211 (x1, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern212 (x1, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_DImode:
      if (pattern212 (x1, E_DImode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern214 (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)
      || !aarch64_simd_shift_imm_qi (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern215 (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)
      || !aarch64_simd_shift_imm_hi (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern216 (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)
      || !aarch64_simd_shift_imm_si (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern217 (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)
      || !aarch64_simd_shift_imm_di (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern218 (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 E_V8QImode:
      return pattern214 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern214 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern215 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern215 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

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

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

    case E_V2DImode:
      if (pattern217 (x1, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_DImode:
      if (pattern217 (x1, E_DImode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

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

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

static int
pattern221 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 85
      || GET_MODE (x2) != E_VNx16BImode)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  operands[2] = x3;
  x4 = XVECEXP (x1, 0, 1);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return 0;

    case E_VNx8HImode:
      return 1;

    case E_VNx4SImode:
      return 2;

    case E_VNx2DImode:
      return 3;

    case E_VNx8BFmode:
      return 4;

    case E_VNx8HFmode:
      return 5;

    case E_VNx4SFmode:
      return 6;

    case E_VNx2DFmode:
      return 7;

    default:
      return -1;
    }
}

static int
pattern222 (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))
    return -1;
  return 0;
}

static int
pattern223 (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[3] = x3;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern222 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern222 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern222 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern224 (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))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern225 (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) != UNSPEC
      || XVECLEN (x2, 0) != 2
      || XINT (x2, 1) != 153)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x6 = XVECEXP (x1, 0, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern224 (x1, E_VNx8HFmode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern224 (x1, E_VNx4SFmode) != 0)
        return -1;
      return 1;

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

    default:
      return -1;
    }
}

static int
pattern226 (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) != UNSPEC
      || XVECLEN (x2, 0) != 2
      || XINT (x2, 1) != 153)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x6 = XVECEXP (x1, 0, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern224 (x1, E_VNx8HFmode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern224 (x1, E_VNx4SFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

static int
pattern228 (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
      || !register_operand (operands[1], i3)
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern229 (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)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern230 (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 E_QImode:
      return pattern228 (x1, E_VNx16QImode, E_VNx16BImode, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern228 (x1, E_VNx8HImode, E_VNx8BImode, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern228 (x1, E_VNx4SImode, E_VNx4BImode, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern228 (x1, E_VNx2DImode, E_VNx2BImode, E_DImode) != 0)
        return -1;
      return 3;

    case E_BFmode:
      if (pattern228 (x1, E_VNx8BFmode, E_VNx8BImode, E_BFmode) != 0)
        return -1;
      return 4;

    case E_HFmode:
      if (pattern228 (x1, E_VNx8HFmode, E_VNx8BImode, E_HFmode) != 0)
        return -1;
      return 5;

    case E_SFmode:
      if (pattern228 (x1, E_VNx4SFmode, E_VNx4BImode, E_SFmode) != 0)
        return -1;
      return 6;

    case E_DFmode:
      if (pattern228 (x1, E_VNx2DFmode, E_VNx2BImode, E_DFmode) != 0)
        return -1;
      return 7;

    case E_VNx16QImode:
      if (pattern229 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
        return -1;
      return 8;

    case E_VNx8HImode:
      if (pattern229 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 9;

    case E_VNx4SImode:
      if (pattern229 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 10;

    case E_VNx2DImode:
      if (pattern229 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 11;

    case E_VNx8BFmode:
      if (pattern229 (x1, E_VNx8BFmode, E_VNx8BImode) != 0)
        return -1;
      return 12;

    case E_VNx8HFmode:
      if (pattern229 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
        return -1;
      return 13;

    case E_VNx4SFmode:
      if (pattern229 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 14;

    case E_VNx2DFmode:
      if (pattern229 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 15;

    default:
      return -1;
    }
}

static int
pattern231 (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
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

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

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

    default:
      return -1;
    }
}

static int
pattern233 (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[3] = x3;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      return pattern231 (x1, E_VNx8HFmode, E_VNx8BImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_VNx4BImode:
          res = pattern232 (E_VNx4BImode);
          if (res >= 0)
            return res + 1; /* [1, 2] */
          return -1;

        case E_VNx2BImode:
          if (!register_operand (operands[1], E_VNx2BImode)
              || !register_operand (operands[2], E_VNx2DFmode))
            return -1;
          return 3;

        default:
          return -1;
        }

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8HFmode:
          if (!register_operand (operands[2], E_VNx8HFmode))
            return -1;
          return 4;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern234 (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)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode)
          || !register_operand (operands[2], i1))
        return -1;
      return 0;

    case E_VNx2BImode:
      if (!register_operand (operands[1], E_VNx2BImode)
          || !register_operand (operands[2], i2))
        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  operands[3] = x3;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x1) != E_VNx8HFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_VNx8BImode:
          if (!register_operand (operands[1], E_VNx8BImode)
              || !register_operand (operands[2], E_VNx8HImode))
            return -1;
          return 0;

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

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

        default:
          return -1;
        }

    case E_VNx4SFmode:
      res = pattern234 (x1, E_VNx4SImode, E_VNx2DImode, E_VNx4SFmode);
      if (res >= 0)
        return res + 3; /* [3, 4] */
      return -1;

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x1) != E_VNx2DFmode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode))
            return -1;
          return 5;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern236 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_VNx16BImode
      || !register_operand (operands[0], E_VNx16BImode))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], E_VNx16BImode))
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  operands[2] = x3;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  operands[3] = x4;
  if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16BImode))
    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 (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern238 (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[2] = x2;
  x3 = XVECEXP (x1, 0, 1);
  operands[3] = x3;
  x4 = XVECEXP (x1, 0, 2);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern237 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern237 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern237 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern237 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern239 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_VNx4SFmode
      || !register_operand (operands[0], E_VNx4SFmode))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], E_VNx8HFmode))
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (!register_operand (x3, E_VNx4SFmode))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[2] = x4;
      if (!register_operand (operands[2], E_VNx8HFmode))
        return -1;
      operands[3] = x3;
      return 0;

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153
          || GET_MODE (x4) != E_VNx8HFmode)
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      operands[2] = x5;
      if (!register_operand (operands[2], E_VNx8HFmode))
        return -1;
      x6 = XVECEXP (x4, 0, 1);
      operands[3] = x6;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      operands[4] = x3;
      return 1;

    default:
      return -1;
    }
}

static int
pattern240 (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], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern241 (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 E_VNx16QImode:
      return pattern240 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern240 (x1, E_VNx4SImode, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern240 (x1, E_VNx2DImode, E_VNx4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern242 (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;
  if (!const_int_operand (operands[3], E_DImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern103 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern103 (x1, E_VNx4SImode, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern103 (x1, E_VNx2DImode, E_VNx4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern243 (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)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern244 (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 E_VNx16QImode:
      return pattern243 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern243 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern243 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern243 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern245 (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 E_VNx8HFmode:
      return pattern243 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern243 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern243 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    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
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern247 (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
pattern248 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  operands[2] = x3;
  x4 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[3] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern246 (x1, E_VNx16QImode); /* [-1, 0] */

        case E_VNx8HImode:
          if (pattern246 (x1, E_VNx8HImode) != 0)
            return -1;
          return 1;

        case E_VNx4SImode:
          if (pattern246 (x1, E_VNx4SImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern246 (x1, E_VNx2DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153)
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      operands[3] = x5;
      x6 = XVECEXP (x4, 0, 1);
      operands[4] = x6;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern247 (x1, E_VNx8HImode) != 0)
            return -1;
          return 4;

        case E_VNx4SImode:
          if (pattern247 (x1, E_VNx4SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern249 (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)
      || !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
pattern250 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  operands[2] = x3;
  x4 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[3] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          return pattern240 (x1, E_VNx16QImode, E_VNx4SImode); /* [-1, 0] */

        case E_VNx2DImode:
          if (pattern240 (x1, E_VNx8HImode, E_VNx2DImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153)
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      operands[3] = x5;
      x6 = XVECEXP (x4, 0, 1);
      operands[4] = x6;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern249 (x1, E_VNx16QImode, E_VNx4SImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern249 (x1, E_VNx8HImode, E_VNx2DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern251 (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 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern252 (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 (XINT (x2, 1) != 118)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_CODE (x3) != NOT)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[3] = x4;
  x5 = XEXP (x3, 0);
  operands[2] = x5;
  x6 = XEXP (x1, 1);
  operands[1] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern251 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern251 (x1, E_VNx8QImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern251 (x1, E_VNx4QImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern251 (x1, E_VNx2QImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern251 (x1, E_VNx8HImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern251 (x1, E_VNx4HImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern251 (x1, E_VNx2HImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern251 (x1, E_VNx4SImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern251 (x1, E_VNx2SImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern251 (x1, E_VNx2DImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern253 (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[2], i2)
      || !aarch64_simd_reg_or_zero (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern254 (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[2], i2)
      || !register_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern255 (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, 0);
  x3 = XVECEXP (x2, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x2, 0, 3);
  operands[3] = x6;
  x7 = XEXP (x1, 1);
  operands[4] = x7;
  switch (XINT (x2, 1))
    {
    case 337:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          return pattern253 (x1, E_VNx8BImode, E_VNx8HFmode); /* [-1, 0] */

        case E_VNx4BImode:
          if (pattern253 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 1;

        case E_VNx2BImode:
          if (pattern253 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case 338:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern253 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 3;

        case E_VNx4BImode:
          if (pattern253 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 4;

        case E_VNx2BImode:
          if (pattern253 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    case 339:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern253 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 6;

        case E_VNx4BImode:
          if (pattern253 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 7;

        case E_VNx2BImode:
          if (pattern253 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 8;

        default:
          return -1;
        }

    case 344:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern253 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 9;

        case E_VNx4BImode:
          if (pattern253 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 10;

        case E_VNx2BImode:
          if (pattern253 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 11;

        default:
          return -1;
        }

    case 345:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern253 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 12;

        case E_VNx4BImode:
          if (pattern253 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 13;

        case E_VNx2BImode:
          if (pattern253 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 14;

        default:
          return -1;
        }

    case 346:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern253 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 15;

        case E_VNx4BImode:
          if (pattern253 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 16;

        case E_VNx2BImode:
          if (pattern253 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 17;

        default:
          return -1;
        }

    case 347:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern254 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 18;

        case E_VNx4BImode:
          if (pattern254 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 19;

        case E_VNx2BImode:
          if (pattern254 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 20;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern256 (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 = XVECEXP (x3, 0, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern257 (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)
    return -1;
  x4 = XVECEXP (x3, 0, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern258 (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, 0);
  x3 = XEXP (x2, 0);
  if (XVECLEN (x3, 0) != 2
      || XINT (x3, 1) != 118)
    return -1;
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != NOT)
    return -1;
  x5 = XVECEXP (x3, 0, 0);
  operands[4] = x5;
  x6 = XEXP (x4, 0);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
      operands[3] = x6;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      x8 = XEXP (x1, 1);
      operands[1] = x8;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern256 (x1, E_VNx16QImode); /* [-1, 0] */

        case E_VNx8HImode:
          if (pattern256 (x1, E_VNx8HImode) != 0)
            return -1;
          return 1;

        case E_VNx4SImode:
          if (pattern256 (x1, E_VNx4SImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern256 (x1, E_VNx2DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case XOR:
      x9 = XEXP (x6, 0);
      operands[1] = x9;
      x10 = XEXP (x6, 1);
      operands[2] = x10;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern257 (x1, E_VNx16QImode) != 0)
            return -1;
          return 4;

        case E_VNx8HImode:
          if (pattern257 (x1, E_VNx8HImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern257 (x1, E_VNx4SImode) != 0)
            return -1;
          return 6;

        case E_VNx2DImode:
          if (pattern257 (x1, E_VNx2DImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern259 (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);
  operands[2] = x3;
  if (!register_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  if (!register_operand (operands[3], i1))
    return -1;
  x5 = XEXP (x1, 1);
  operands[1] = x5;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern260 (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);
  operands[1] = x3;
  if (!register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern261 (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);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 1);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode
          || GET_MODE (x2) != E_SImode
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode)
          || !register_operand (operands[3], E_SImode))
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode
          || GET_MODE (x2) != E_DImode
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_shift_imm_di (operands[2], E_QImode)
          || !register_operand (operands[3], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern262 (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
      || !aarch64_simd_or_scalar_imm_zero (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
pattern263 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      return pattern262 (x1, E_V8HImode, E_V8QImode, E_V16QImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern262 (x1, E_V4SImode, E_V4HImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern262 (x1, E_V2DImode, E_V2SImode, E_V4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern264 (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) != i1
      || !register_operand (operands[1], i2)
      || !aarch64_simd_or_scalar_imm_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern265 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      return pattern264 (x1, E_V8QImode, E_V8HImode, E_V16QImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern264 (x1, E_V4HImode, E_V4SImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern264 (x1, E_V2SImode, E_V2DImode, E_V4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern266 (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) != i1
      || !register_operand (operands[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern267 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      return pattern266 (x1, E_V8QImode, E_V8HImode, E_V16QImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern266 (x1, E_V4HImode, E_V4SImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern266 (x1, E_V2SImode, E_V2DImode, E_V4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern268 (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)
      || !aarch64_sve_sqadd_operand (operands[2], i1))
    return -1;
  return 0;
}

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

    case E_V16QImode:
      if (pattern13 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern13 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern13 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern13 (x1, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern13 (x1, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern13 (x1, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_QImode:
      if (pattern13 (x1, E_QImode) != 0)
        return -1;
      return 7;

    case E_HImode:
      if (pattern13 (x1, E_HImode) != 0)
        return -1;
      return 8;

    case E_SImode:
      if (pattern13 (x1, E_SImode) != 0)
        return -1;
      return 9;

    case E_DImode:
      if (pattern13 (x1, E_DImode) != 0)
        return -1;
      return 10;

    case E_VNx16QImode:
      if (pattern268 (x1, E_VNx16QImode) != 0)
        return -1;
      return 11;

    case E_VNx8HImode:
      if (pattern268 (x1, E_VNx8HImode) != 0)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (pattern268 (x1, E_VNx4SImode) != 0)
        return -1;
      return 13;

    case E_VNx2DImode:
      if (pattern268 (x1, E_VNx2DImode) != 0)
        return -1;
      return 14;

    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)
      || !aarch64_sve_arith_operand (operands[2], i1))
    return -1;
  return 0;
}

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

    case E_V16QImode:
      if (pattern13 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern13 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern13 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern13 (x1, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern13 (x1, E_V4SImode) != 0)
        return -1;
      return 5;

    case E_V2DImode:
      if (pattern13 (x1, E_V2DImode) != 0)
        return -1;
      return 6;

    case E_QImode:
      if (pattern13 (x1, E_QImode) != 0)
        return -1;
      return 7;

    case E_HImode:
      if (pattern13 (x1, E_HImode) != 0)
        return -1;
      return 8;

    case E_SImode:
      if (pattern13 (x1, E_SImode) != 0)
        return -1;
      return 9;

    case E_DImode:
      if (pattern13 (x1, E_DImode) != 0)
        return -1;
      return 10;

    case E_VNx16QImode:
      if (pattern270 (x1, E_VNx16QImode) != 0)
        return -1;
      return 11;

    case E_VNx8HImode:
      if (pattern270 (x1, E_VNx8HImode) != 0)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (pattern270 (x1, E_VNx4SImode) != 0)
        return -1;
      return 13;

    case E_VNx2DImode:
      if (pattern270 (x1, E_VNx2DImode) != 0)
        return -1;
      return 14;

    default:
      return -1;
    }
}

static int
pattern272 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_SImode)
    return -1;
  switch (XINT (x1, 1))
    {
    case 154:
      x2 = XVECEXP (x1, 0, 0);
      operands[2] = x2;
      if (!const_int_operand (operands[2], E_DImode))
        return -1;
      x3 = XVECEXP (x1, 0, 1);
      operands[3] = x3;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x4 = XVECEXP (x1, 0, 2);
      operands[4] = x4;
      if (!const_int_operand (operands[4], E_DImode))
        return -1;
      return 0;

    case 291:
      x3 = XVECEXP (x1, 0, 1);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      res = pattern29 (x1);
      if (res >= 0)
        return res + 1; /* [1, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern273 (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) != E_DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 3
      || !register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode
      || !register_operand (operands[1], E_DImode))
    return -1;
  return pattern272 (x3); /* [-1, 4] */
}

static int
pattern274 (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);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x3) != E_DImode)
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 3
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2DImode)
          || GET_MODE (x2) != E_VNx2DImode
          || GET_MODE (x4) != E_SImode)
        return -1;
      switch (XINT (x4, 1))
        {
        case 154:
          x5 = XVECEXP (x4, 0, 0);
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_DImode))
            return -1;
          x6 = XVECEXP (x4, 0, 1);
          operands[3] = x6;
          if (!const_int_operand (operands[3], E_DImode))
            return -1;
          x7 = XVECEXP (x4, 0, 2);
          operands[4] = x7;
          if (!const_int_operand (operands[4], E_DImode))
            return -1;
          return 0;

        case 291:
          x6 = XVECEXP (x4, 0, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x5 = XVECEXP (x4, 0, 0);
          operands[3] = x5;
          x7 = XVECEXP (x4, 0, 2);
          operands[2] = x7;
          if (!register_operand (operands[2], E_VNx2BImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 3
          || !register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || !register_operand (operands[1], E_VNx4SImode)
          || GET_MODE (x2) != E_VNx4SImode
          || GET_MODE (x3) != E_SImode)
        return -1;
      switch (XINT (x3, 1))
        {
        case 154:
          x8 = XVECEXP (x3, 0, 0);
          operands[2] = x8;
          if (!const_int_operand (operands[2], E_DImode))
            return -1;
          x9 = XVECEXP (x3, 0, 1);
          operands[3] = x9;
          if (!const_int_operand (operands[3], E_DImode))
            return -1;
          x10 = XVECEXP (x3, 0, 2);
          operands[4] = x10;
          if (!const_int_operand (operands[4], E_DImode))
            return -1;
          return 2;

        case 291:
          x9 = XVECEXP (x3, 0, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x8 = XVECEXP (x3, 0, 0);
          operands[3] = x8;
          x10 = XVECEXP (x3, 0, 2);
          operands[2] = x10;
          if (!register_operand (operands[2], E_VNx4BImode))
            return -1;
          return 3;

        default:
          return -1;
        }

    case SUBREG:
    case TRUNCATE:
      if (!subreg_lowpart_operator (x3, E_HImode))
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 3
          || !register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x1) != E_VNx8HImode
          || !register_operand (operands[1], E_VNx8HImode)
          || GET_MODE (x2) != E_VNx8HImode
          || GET_MODE (x4) != E_SImode)
        return -1;
      switch (XINT (x4, 1))
        {
        case 154:
          operands[5] = x3;
          x5 = XVECEXP (x4, 0, 0);
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_DImode))
            return -1;
          x6 = XVECEXP (x4, 0, 1);
          operands[3] = x6;
          if (!const_int_operand (operands[3], E_DImode))
            return -1;
          x7 = XVECEXP (x4, 0, 2);
          operands[4] = x7;
          if (!const_int_operand (operands[4], E_DImode))
            return -1;
          return 4;

        case 291:
          x6 = XVECEXP (x4, 0, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          operands[3] = x3;
          x5 = XVECEXP (x4, 0, 0);
          operands[4] = x5;
          x7 = XVECEXP (x4, 0, 2);
          operands[2] = x7;
          if (!register_operand (operands[2], E_VNx8BImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern275 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (XINT (x2, 1) != 120
      || GET_MODE (x2) != E_CC_NZCmode)
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 66
      || GET_MODE (x4) != E_CC_NZCmode)
    return -1;
  return 0;
}

static int
pattern276 (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) != 66
      || GET_MODE (x3) != E_CC_NZCmode)
    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 = XVECEXP (x6, 0, 1);
  operands[2] = x8;
  return 0;
}

static int
pattern277 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != UNSPEC_VOLATILE
      || XVECLEN (x2, 0) != 3
      || XINT (x2, 1) != 25)
    return -1;
  return 0;
}

static int
pattern278 (rtx x1, int i1, int i2, rtx_code i3, rtx_code i4)
{
  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) != i4)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != SET)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i3
      || XVECLEN (x4, 0) != i2
      || XINT (x4, 1) != i1)
    return -1;
  return 0;
}

static int
pattern279 (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);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  x6 = XEXP (x1, 1);
  switch (GET_CODE (x6))
    {
    case ZERO_EXTEND:
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x8 = XEXP (x6, 0);
      operands[4] = x8;
      if (!register_operand (operands[4], E_VOIDmode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x1) != E_SImode
              || GET_MODE (x2) != E_SImode
              || GET_MODE (x3) != E_SImode
              || !register_operand (operands[1], E_SImode)
              || !aarch64_shift_imm_si (operands[2], E_QImode)
              || !const_int_operand (operands[3], E_SImode)
              || GET_MODE (x6) != E_SImode)
            return -1;
          return 0;

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x1) != E_DImode
              || GET_MODE (x2) != E_DImode
              || GET_MODE (x3) != E_DImode
              || !register_operand (operands[1], E_DImode)
              || !aarch64_shift_imm_di (operands[2], E_QImode)
              || !const_int_operand (operands[3], E_DImode)
              || GET_MODE (x6) != E_DImode)
            return -1;
          return 1;

        default:
          return -1;
        }

    case AND:
      x7 = XEXP (x2, 1);
      operands[4] = x7;
      x9 = XEXP (x6, 1);
      operands[3] = x9;
      x8 = XEXP (x6, 0);
      if (!rtx_equal_p (x8, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x1) != E_SImode
              || GET_MODE (x2) != E_SImode
              || GET_MODE (x3) != E_SImode
              || !register_operand (operands[1], E_SImode)
              || !aarch64_shift_imm_si (operands[2], E_QImode)
              || !const_int_operand (operands[4], E_SImode)
              || GET_MODE (x6) != E_SImode
              || !const_int_operand (operands[3], E_SImode))
            return -1;
          return 2;

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x1) != E_DImode
              || GET_MODE (x2) != E_DImode
              || GET_MODE (x3) != E_DImode
              || !register_operand (operands[1], E_DImode)
              || !aarch64_shift_imm_di (operands[2], E_QImode)
              || !const_int_operand (operands[4], E_DImode)
              || GET_MODE (x6) != E_DImode
              || !const_int_operand (operands[3], E_DImode))
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern280 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2
      || XINT (x1, 1) != 118
      || GET_MODE (x1) != E_VNx2DImode)
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SIGN_EXTEND
      || GET_MODE (x2) != E_VNx2DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != TRUNCATE
      || GET_MODE (x3) != E_VNx2SImode)
    return -1;
  return 0;
}

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

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

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

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

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

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

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

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

    default:
      return -1;
    }
}

static int
pattern286 (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
pattern287 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern286 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern286 (x1, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern286 (x1, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern288 (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 E_QImode:
      switch (GET_MODE (operands[1]))
        {
        case E_V8QImode:
          if (!register_operand (operands[1], E_V8QImode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

    case E_HImode:
      switch (GET_MODE (operands[1]))
        {
        case E_V4HImode:
          if (!register_operand (operands[1], E_V4HImode))
            return -1;
          return 2;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern289 (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);
  x5 = XVECEXP (x4, 0, 0);
  operands[2] = x5;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern288 (x1, E_SImode); /* [-1, 3] */

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

    default:
      return -1;
    }
}

static int
pattern290 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_SImode
      || !register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!aarch64_tls_ie_symref (operands[1], E_VOIDmode))
    return -1;
  return 0;
}

static int
pattern291 (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], i2)
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern292 (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], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[2], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern293 (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, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[2] = x4;
      x5 = XEXP (x1, 1);
      operands[3] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V2SImode:
          return pattern291 (x1, E_V2SImode, E_V8QImode); /* [-1, 0] */

        case E_V4SImode:
          if (pattern291 (x1, E_V4SImode, E_V16QImode) != 0)
            return -1;
          return 1;

        case E_VNx4SImode:
          if (pattern291 (x1, E_VNx4SImode, E_VNx16QImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern291 (x1, E_VNx2DImode, E_VNx8HImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[2] = x6;
      x7 = XVECEXP (x4, 0, 1);
      operands[3] = x7;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      x5 = XEXP (x1, 1);
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern292 (x1, E_VNx4SImode, E_VNx16QImode) != 0)
            return -1;
          return 4;

        case E_VNx2DImode:
          if (pattern292 (x1, E_VNx2DImode, E_VNx8HImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

static int
pattern295 (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);
  return pattern294 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern296 (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, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  x5 = XEXP (x1, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V4SImode:
      return pattern295 (x1, E_V4SImode, E_V16QImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern295 (x1, E_VNx4SImode, E_VNx16QImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern297 (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)
      || !aarch64_simd_rshift_imm (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern298 (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, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  x5 = XEXP (x1, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern297 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern297 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern297 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern297 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern299 (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, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  x5 = XEXP (x1, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      return pattern295 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern295 (x1, E_VNx4SImode, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx2DImode:
      if (pattern295 (x1, E_VNx2DImode, E_VNx4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern300 (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[2], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[3], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern301 (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, 1);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[3] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          return pattern295 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

        case E_VNx4SImode:
          if (pattern295 (x1, E_VNx4SImode, E_VNx8HImode) != 0)
            return -1;
          return 1;

        case E_VNx2DImode:
          if (pattern295 (x1, E_VNx2DImode, E_VNx4SImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != 153)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[4] = x5;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern300 (x1, E_VNx4SImode, E_VNx8HImode) != 0)
            return -1;
          return 3;

        case E_VNx2DImode:
          if (pattern300 (x1, E_VNx2DImode, E_VNx4SImode) != 0)
            return -1;
          return 4;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern302 (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[2] = x3;
  x4 = XEXP (x1, 1);
  operands[1] = x4;
  return pattern301 (x1); /* [-1, 4] */
}

static int
pattern303 (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[3], i1))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern304 (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[2] = x5;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  x7 = XEXP (x3, 0);
  if (!rtx_equal_p (x7, operands[2]))
    return -1;
  x8 = XEXP (x3, 1);
  if (!rtx_equal_p (x8, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      return pattern303 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern303 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern303 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern303 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern303 (x1, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern303 (x1, E_V4SImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern305 (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, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 3
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || GET_MODE (x2) != i1
      || GET_MODE (x4) != E_SImode)
    return -1;
  x5 = XEXP (x1, 1);
  operands[1] = x5;
  return 0;
}

static int
pattern306 (rtx x1, rtx_code i1, rtx_code i2)
{
  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);
  if (GET_CODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x1, 0);
  if (GET_MODE (x5) != E_CC_Vmode
      || GET_MODE (x2) != E_CC_Vmode)
    return -1;
  x6 = XEXP (x2, 0);
  x7 = XEXP (x6, 0);
  x8 = XEXP (x7, 0);
  operands[0] = x8;
  x9 = XEXP (x4, 0);
  if (!rtx_equal_p (x9, operands[0]))
    return -1;
  return 0;
}

static int
pattern307 (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
      || !register_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)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_QImode:
      if (!register_operand (operands[2], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern308 (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[1] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XEXP (x3, 1);
  operands[3] = x6;
  if (!aarch64_imm3 (operands[3], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern307 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern307 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

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

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

static int
pattern311 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  operands[2] = x2;
  x3 = XVECEXP (x1, 0, 0);
  operands[1] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern309 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern309 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern309 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern309 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern309 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern309 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern309 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx8HFmode:
      if (pattern309 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
        return -1;
      return 7;

    case E_VNx4HFmode:
      if (pattern309 (x1, E_VNx4HFmode, E_VNx4BImode) != 0)
        return -1;
      return 8;

    case E_VNx2HFmode:
      if (pattern309 (x1, E_VNx2HFmode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    case E_VNx8BFmode:
      if (pattern309 (x1, E_VNx8BFmode, E_VNx8BImode) != 0)
        return -1;
      return 10;

    case E_VNx4BFmode:
      if (pattern309 (x1, E_VNx4BFmode, E_VNx4BImode) != 0)
        return -1;
      return 11;

    case E_VNx2BFmode:
      if (pattern309 (x1, E_VNx2BFmode, E_VNx2BImode) != 0)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (pattern309 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 13;

    case E_VNx2SImode:
      if (pattern309 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 14;

    case E_VNx4SFmode:
      if (pattern309 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 15;

    case E_VNx2SFmode:
      if (pattern309 (x1, E_VNx2SFmode, E_VNx2BImode) != 0)
        return -1;
      return 16;

    case E_VNx2DImode:
      if (pattern309 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 17;

    case E_VNx2DFmode:
      if (pattern309 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 18;

    case E_VNx32QImode:
      if (pattern310 (x1, E_VNx32QImode, E_VNx16BImode) != 0)
        return -1;
      return 19;

    case E_VNx16HImode:
      if (pattern310 (x1, E_VNx16HImode, E_VNx8BImode) != 0)
        return -1;
      return 20;

    case E_VNx8SImode:
      if (pattern310 (x1, E_VNx8SImode, E_VNx4BImode) != 0)
        return -1;
      return 21;

    case E_VNx4DImode:
      if (pattern310 (x1, E_VNx4DImode, E_VNx2BImode) != 0)
        return -1;
      return 22;

    case E_VNx16BFmode:
      if (pattern310 (x1, E_VNx16BFmode, E_VNx8BImode) != 0)
        return -1;
      return 23;

    case E_VNx16HFmode:
      if (pattern310 (x1, E_VNx16HFmode, E_VNx8BImode) != 0)
        return -1;
      return 24;

    case E_VNx8SFmode:
      if (pattern310 (x1, E_VNx8SFmode, E_VNx4BImode) != 0)
        return -1;
      return 25;

    case E_VNx4DFmode:
      if (pattern310 (x1, E_VNx4DFmode, E_VNx2BImode) != 0)
        return -1;
      return 26;

    case E_VNx48QImode:
      if (pattern310 (x1, E_VNx48QImode, E_VNx16BImode) != 0)
        return -1;
      return 27;

    case E_VNx24HImode:
      if (pattern310 (x1, E_VNx24HImode, E_VNx8BImode) != 0)
        return -1;
      return 28;

    case E_VNx12SImode:
      if (pattern310 (x1, E_VNx12SImode, E_VNx4BImode) != 0)
        return -1;
      return 29;

    case E_VNx6DImode:
      if (pattern310 (x1, E_VNx6DImode, E_VNx2BImode) != 0)
        return -1;
      return 30;

    case E_VNx24BFmode:
      if (pattern310 (x1, E_VNx24BFmode, E_VNx8BImode) != 0)
        return -1;
      return 31;

    case E_VNx24HFmode:
      if (pattern310 (x1, E_VNx24HFmode, E_VNx8BImode) != 0)
        return -1;
      return 32;

    case E_VNx12SFmode:
      if (pattern310 (x1, E_VNx12SFmode, E_VNx4BImode) != 0)
        return -1;
      return 33;

    case E_VNx6DFmode:
      if (pattern310 (x1, E_VNx6DFmode, E_VNx2BImode) != 0)
        return -1;
      return 34;

    case E_VNx64QImode:
      if (pattern310 (x1, E_VNx64QImode, E_VNx16BImode) != 0)
        return -1;
      return 35;

    case E_VNx32HImode:
      if (pattern310 (x1, E_VNx32HImode, E_VNx8BImode) != 0)
        return -1;
      return 36;

    case E_VNx16SImode:
      if (pattern310 (x1, E_VNx16SImode, E_VNx4BImode) != 0)
        return -1;
      return 37;

    case E_VNx8DImode:
      if (pattern310 (x1, E_VNx8DImode, E_VNx2BImode) != 0)
        return -1;
      return 38;

    case E_VNx32BFmode:
      if (pattern310 (x1, E_VNx32BFmode, E_VNx8BImode) != 0)
        return -1;
      return 39;

    case E_VNx32HFmode:
      if (pattern310 (x1, E_VNx32HFmode, E_VNx8BImode) != 0)
        return -1;
      return 40;

    case E_VNx16SFmode:
      if (pattern310 (x1, E_VNx16SFmode, E_VNx4BImode) != 0)
        return -1;
      return 41;

    case E_VNx8DFmode:
      if (pattern310 (x1, E_VNx8DFmode, E_VNx2BImode) != 0)
        return -1;
      return 42;

    default:
      return -1;
    }
}

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], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern313 (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);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern312 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern312 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern312 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern312 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern312 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern312 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern312 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern312 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern312 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern312 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

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], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_vsm_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern315 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern314 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern314 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern314 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern314 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern314 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern314 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern314 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern314 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern314 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern314 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern316 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_vsb_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern317 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern316 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern316 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern316 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern316 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern316 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern316 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern316 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern316 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern316 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern316 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern318 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern319 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx4SImode:
      return pattern318 (x1, E_VNx4SImode, E_VNx4BImode); /* [-1, 0] */

    case E_VNx2DImode:
      if (pattern318 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern320 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_lshift_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern321 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern320 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern320 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern320 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern320 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern320 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern320 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern320 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern320 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern320 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern320 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern322 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_rshift_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern323 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern322 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern322 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern322 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern322 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern322 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern322 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern322 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern322 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern322 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern322 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern324 (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 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern325 (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, 0);
  if (GET_CODE (x3) != NOT)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_CODE (x4) != NOT)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  operands[3] = x5;
  x6 = XEXP (x3, 0);
  operands[1] = x6;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern324 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern324 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern324 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern324 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern326 (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);
  if (GET_MODE (x2) != E_BLKmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != E_BLKmode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SCRATCH)
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[0] = x5;
  x6 = XVECEXP (x2, 0, 3);
  operands[2] = x6;
  x7 = XVECEXP (x2, 0, 4);
  operands[3] = x7;
  return 0;
}

static int
pattern327 (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 (x1, 1);
  operands[3] = x4;
  return pattern39 (x1); /* [-1, 1] */
}

static int
pattern328 (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);
  operands[1] = x3;
  if (!register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern329 (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);
  operands[2] = x3;
  if (!register_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x1, 1);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern330 (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[3], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern331 (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))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern332 (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, 1);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[2] = x3;
      x4 = XEXP (x2, 0);
      x5 = XEXP (x4, 0);
      operands[3] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16BImode:
          return pattern330 (x1, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8BImode:
          if (pattern330 (x1, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4BImode:
          if (pattern330 (x1, E_VNx4BImode) != 0)
            return -1;
          return 2;

        case E_VNx2BImode:
          if (pattern330 (x1, E_VNx2BImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case NOT:
      x4 = XEXP (x2, 0);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      x6 = XEXP (x3, 0);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16BImode:
          if (pattern331 (x1, E_VNx16BImode) != 0)
            return -1;
          return 4;

        case E_VNx8BImode:
          if (pattern331 (x1, E_VNx8BImode) != 0)
            return -1;
          return 5;

        case E_VNx4BImode:
          if (pattern331 (x1, E_VNx4BImode) != 0)
            return -1;
          return 6;

        case E_VNx2BImode:
          if (pattern331 (x1, E_VNx2BImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern333 (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;
  return pattern185 (x1); /* [-1, 1] */
}

static int
pattern334 (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);
  switch (GET_CODE (x3))
    {
    case AND:
      x4 = XEXP (x3, 0);
      operands[2] = x4;
      x5 = XEXP (x3, 1);
      operands[3] = x5;
      if (!const_int_operand (operands[3], E_VOIDmode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x1) != E_SImode
              || !register_operand (operands[1], E_SImode)
              || GET_MODE (x3) != E_SImode
              || !register_operand (operands[2], E_SImode))
            return -1;
          return 0;

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

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      res = pattern23 (x1);
      if (res >= 0)
        return res + 3; /* [3, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern335 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[4] = x2;
  if (!subreg_lowpart_operator (operands[4], E_VOIDmode))
    return -1;
  return pattern334 (x1); /* [-1, 4] */
}

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

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

    default:
      return -1;
    }
}

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

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

    default:
      return -1;
    }
}

static int
pattern338 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_simd_shift_imm_offset_si (operands[2], E_VOIDmode)
          || !aarch64_simd_shift_imm_si (operands[3], E_VOIDmode))
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_simd_shift_imm_offset_di (operands[2], E_VOIDmode)
          || !aarch64_simd_shift_imm_di (operands[3], E_VOIDmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern339 (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);
  operands[2] = x2;
  if (!register_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  operands[3] = x3;
  if (!register_operand (operands[3], i1))
    return -1;
  x4 = XEXP (x1, 2);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern340 (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);
  operands[1] = x2;
  if (!register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  if (!register_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x1, 2);
  operands[3] = x4;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern341 (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);
  operands[1] = x2;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x1) != E_V16QImode
          || GET_MODE (x3) != E_V8QImode
          || GET_MODE (x4) != E_V8HImode
          || !register_operand (operands[2], E_V8HImode)
          || !aarch64_simd_shift_imm_vec_qi (operands[3], E_V8HImode)
          || !register_operand (operands[1], E_V8QImode))
        return -1;
      return 0;

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x1) != E_V8HImode
          || GET_MODE (x3) != E_V4HImode
          || GET_MODE (x4) != E_V4SImode
          || !register_operand (operands[2], E_V4SImode)
          || !aarch64_simd_shift_imm_vec_hi (operands[3], E_V4SImode)
          || !register_operand (operands[1], E_V4HImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x1) != E_V4SImode
          || GET_MODE (x3) != E_V2SImode
          || GET_MODE (x4) != E_V2DImode
          || !register_operand (operands[2], E_V2DImode)
          || !aarch64_simd_shift_imm_vec_si (operands[3], E_V2DImode)
          || !register_operand (operands[1], E_V2SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern342 (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], 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) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (!register_operand (x4, i1)
      || !aarch64_simd_shift_imm_vec_exact_top (operands[2], i1))
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_MODE (x5) != i2)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (!register_operand (x7, i1))
    return -1;
  return 0;
}

static int
pattern343 (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, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  operands[2] = x6;
  x7 = XEXP (x3, 1);
  if (!rtx_equal_p (x7, operands[2]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      return pattern342 (x1, E_V8HImode, E_V8QImode, E_V16QImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern342 (x1, E_V4SImode, E_V4HImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern342 (x1, E_V2DImode, E_V2SImode, E_V4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern344 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern345 (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 E_V16QImode:
      return pattern344 (x1, E_V8HImode, E_V8QImode, E_V16QImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern344 (x1, E_V4SImode, E_V4HImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern344 (x1, E_V2DImode, E_V2SImode, E_V4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern346 (rtx x1)
{
  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 CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
      operands[3] = x2;
      x3 = XEXP (x1, 0);
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x1) != E_V16QImode
              || GET_MODE (x3) != E_V8QImode
              || !register_operand (operands[1], E_V8HImode)
              || !aarch64_simd_shift_imm_vec_qi (operands[2], E_V8HImode)
              || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V8QImode))
            return -1;
          return 0;

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x1) != E_V8HImode
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[1], E_V4SImode)
              || !aarch64_simd_shift_imm_vec_hi (operands[2], E_V4SImode)
              || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V4HImode))
            return -1;
          return 1;

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[1], E_V2DImode)
              || !aarch64_simd_shift_imm_vec_si (operands[2], E_V2DImode)
              || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V2SImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x2;
      x3 = XEXP (x1, 0);
      x4 = XVECEXP (x3, 0, 0);
      operands[2] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[3] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x1) != E_V16QImode
              || GET_MODE (x3) != E_V8QImode
              || !register_operand (operands[2], E_V8HImode)
              || !aarch64_simd_shift_imm_vec_qi (operands[3], E_V8HImode)
              || !register_operand (operands[1], E_V8QImode))
            return -1;
          return 3;

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x1) != E_V8HImode
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[2], E_V4SImode)
              || !aarch64_simd_shift_imm_vec_hi (operands[3], E_V4SImode)
              || !register_operand (operands[1], E_V4HImode))
            return -1;
          return 4;

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[2], E_V2DImode)
              || !aarch64_simd_shift_imm_vec_si (operands[3], E_V2DImode)
              || !register_operand (operands[1], E_V2SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern347 (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) != i1
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !aarch64_simd_or_scalar_imm_zero (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern348 (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);
  return pattern294 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern349 (rtx x1)
{
  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 CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
      operands[3] = x2;
      x3 = XEXP (x1, 0);
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          return pattern347 (x1, E_V8QImode, E_V8HImode, E_V16QImode); /* [-1, 0] */

        case E_V8HImode:
          if (pattern347 (x1, E_V4HImode, E_V4SImode, E_V8HImode) != 0)
            return -1;
          return 1;

        case E_V4SImode:
          if (pattern347 (x1, E_V2SImode, E_V2DImode, E_V4SImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x2;
      x3 = XEXP (x1, 0);
      x4 = XVECEXP (x3, 0, 0);
      operands[2] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[3] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern348 (x1, E_V8QImode, E_V8HImode, E_V16QImode) != 0)
            return -1;
          return 3;

        case E_V8HImode:
          if (pattern348 (x1, E_V4HImode, E_V4SImode, E_V8HImode) != 0)
            return -1;
          return 4;

        case E_V4SImode:
          if (pattern348 (x1, E_V2SImode, E_V2DImode, E_V4SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern350 (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
      || !aarch64_sve_index_operand (operands[1], i1)
      || !aarch64_sve_index_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern351 (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)
      || !const_int_operand (operands[2], i1)
      || !aarch64_plus_immediate (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern352 (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) != 66
      || GET_MODE (x3) != E_CCmode)
    return -1;
  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 (x5, 1);
  operands[3] = x9;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern351 (x5, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern351 (x5, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern353 (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 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XVECEXP (x1, 0, 1);
  return pattern277 (x5); /* [-1, 0] */
}

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

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

static int
pattern356 (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);
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x3) != E_SImode
          || !register_operand (operands[0], E_SImode))
        return -1;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XVECEXP (x1, 0, 2);
      x6 = XEXP (x5, 0);
      if (!rtx_equal_p (x6, operands[1]))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_QImode:
          if (!aarch64_sync_memory_operand (operands[1], E_QImode))
            return -1;
          x7 = XEXP (x5, 1);
          if (GET_MODE (x7) != E_QImode
              || !aarch64_reg_or_imm (operands[2], E_QImode)
              || !aarch64_reg_or_zero (operands[3], E_QImode))
            return -1;
          return 0;

        case E_HImode:
          if (!aarch64_sync_memory_operand (operands[1], E_HImode))
            return -1;
          x7 = XEXP (x5, 1);
          if (GET_MODE (x7) != E_HImode
              || !aarch64_plushi_operand (operands[2], E_HImode)
              || !aarch64_reg_or_zero (operands[3], E_HImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case SUBREG:
    case MEM:
      operands[1] = x3;
      x5 = XVECEXP (x1, 0, 2);
      x6 = XEXP (x5, 0);
      if (!rtx_equal_p (x6, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          x7 = XEXP (x5, 1);
          if (pattern355 (x7, E_SImode) != 0)
            return -1;
          return 2;

        case E_DImode:
          x7 = XEXP (x5, 1);
          if (pattern355 (x7, E_DImode) != 0)
            return -1;
          return 3;

        case E_TImode:
          if (!register_operand (operands[0], E_TImode)
              || !aarch64_sync_memory_operand (operands[1], E_TImode))
            return -1;
          x7 = XEXP (x5, 1);
          if (GET_MODE (x7) != E_TImode
              || !aarch64_reg_or_zero (operands[2], E_TImode)
              || !aarch64_reg_or_zero (operands[3], E_TImode))
            return -1;
          return 4;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern357 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sync_memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !aarch64_plus_operand (operands[1], i1)
      || !scratch_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern358 (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 E_QImode:
      return pattern357 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern357 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern357 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern357 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern359 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sync_memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !aarch64_logical_operand (operands[1], i1)
      || !scratch_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern360 (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 E_QImode:
      return pattern359 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern359 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern359 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern359 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern361 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sync_memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !aarch64_logical_operand (operands[1], i1)
      || !scratch_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern362 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XVECLEN (x3, 0))
    {
    case 1:
      if (XINT (x3, 1) != 21
          || GET_MODE (x3) != E_CCmode)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x5 = XEXP (x2, 0);
      if (GET_CODE (x5) != REG
          || REGNO (x5) != 66
          || GET_MODE (x5) != E_CCmode)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        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) != 5
          || XINT (x8, 1) != 21)
        return -1;
      x9 = XEXP (x6, 0);
      operands[0] = x9;
      x10 = XVECEXP (x8, 0, 0);
      operands[2] = x10;
      x11 = XVECEXP (x8, 0, 1);
      operands[3] = x11;
      x12 = XVECEXP (x8, 0, 2);
      operands[4] = x12;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      x13 = XVECEXP (x8, 0, 3);
      operands[5] = x13;
      if (!const_int_operand (operands[5], E_SImode))
        return -1;
      x14 = XVECEXP (x8, 0, 4);
      operands[6] = x14;
      if (!const_int_operand (operands[6], E_SImode))
        return -1;
      x15 = XVECEXP (x1, 0, 3);
      x16 = XEXP (x15, 0);
      operands[7] = x16;
      return pattern356 (x1); /* [-1, 4] */

    case 2:
      if (XINT (x3, 1) != 25)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x9 = XEXP (x6, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 66
          || GET_MODE (x9) != E_CCmode)
        return -1;
      x7 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x7) != CLOBBER)
        return -1;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x17 = XVECEXP (x3, 0, 1);
      operands[2] = x17;
      if (!const_int_operand (operands[2], E_SImode))
        return -1;
      x18 = XEXP (x7, 0);
      operands[3] = x18;
      x15 = XVECEXP (x1, 0, 3);
      x16 = XEXP (x15, 0);
      operands[4] = x16;
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case PLUS:
          res = pattern358 (x3);
          if (res >= 0)
            return res + 5; /* [5, 8] */
          return -1;

        case MINUS:
          res = pattern358 (x3);
          if (res >= 0)
            return res + 9; /* [9, 12] */
          return -1;

        case IOR:
          res = pattern360 (x3);
          if (res >= 0)
            return res + 13; /* [13, 16] */
          return -1;

        case XOR:
          res = pattern360 (x3);
          if (res >= 0)
            return res + 17; /* [17, 20] */
          return -1;

        case AND:
          res = pattern360 (x3);
          if (res >= 0)
            return res + 21; /* [21, 24] */
          return -1;

        case NOT:
          x19 = XEXP (x4, 0);
          if (GET_CODE (x19) != AND)
            return -1;
          x20 = XEXP (x19, 1);
          operands[1] = x20;
          x21 = XEXP (x19, 0);
          if (!rtx_equal_p (x21, operands[0]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern361 (x3, E_QImode) != 0)
                return -1;
              return 25;

            case E_HImode:
              if (pattern361 (x3, E_HImode) != 0)
                return -1;
              return 26;

            case E_SImode:
              if (pattern361 (x3, E_SImode) != 0)
                return -1;
              return 27;

            case E_DImode:
              if (pattern361 (x3, E_DImode) != 0)
                return -1;
              return 28;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern363 (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, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 25)
    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) != 66
      || GET_MODE (x5) != E_CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 0);
  operands[0] = x7;
  x8 = XEXP (x6, 1);
  x9 = XEXP (x8, 0);
  operands[1] = x9;
  x10 = XEXP (x8, 1);
  operands[2] = x10;
  x11 = XVECEXP (x3, 0, 2);
  operands[3] = x11;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x12 = XVECEXP (x1, 0, 3);
  x13 = XEXP (x12, 0);
  operands[4] = x13;
  return pattern179 (x1); /* [-1, 3] */
}

static int
pattern364 (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, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 25)
    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) != 66
      || GET_MODE (x5) != E_CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 0);
  operands[0] = x7;
  x8 = XEXP (x6, 1);
  x9 = XEXP (x8, 0);
  operands[1] = x9;
  x10 = XEXP (x8, 1);
  operands[2] = x10;
  x11 = XVECEXP (x3, 0, 2);
  operands[3] = x11;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x12 = XVECEXP (x1, 0, 3);
  x13 = XEXP (x12, 0);
  operands[4] = x13;
  return pattern172 (x1); /* [-1, 3] */
}

static int
pattern365 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2
      || XINT (x1, 1) != 118
      || GET_MODE (x1) != E_VNx2DImode)
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SIGN_EXTEND
      || GET_MODE (x2) != E_VNx2DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != TRUNCATE
      || GET_MODE (x3) != E_VNx2SImode)
    return -1;
  return 0;
}

static int
pattern366 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  operands[1] = x1;
  if (!memory_operand (operands[1], E_SImode))
    return -1;
  x2 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1
      || GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XEXP (x2, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], E_DImode))
    return -1;
  x5 = XEXP (x3, 0);
  operands[3] = x5;
  if (!memory_operand (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern367 (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
      || !register_operand (operands[2], i1)
      || !aarch64_reg_or_zero (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern368 (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);
  operands[2] = x3;
  x4 = XEXP (x1, 2);
  operands[3] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern367 (x1, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern367 (x1, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern369 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2
      || XINT (x1, 1) != 118)
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != AND)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != NOT)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_CODE (x4) != NOT)
    return -1;
  return 0;
}

static int
pattern370 (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)
      || !aarch64_logical_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern371 (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)
      || !aarch64_reg_or_orr_imm (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern372 (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)
      || !aarch64_sve_logical_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern373 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode)
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x2, 1);
  operands[1] = x4;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  return pattern161 (x3); /* [-1, 4] */
}

static int
pattern374 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[3] = x2;
  x3 = XVECEXP (x1, 0, 2);
  operands[2] = x3;
  switch (GET_MODE (operands[2]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[2], E_VNx16BImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern375 (rtx x1)
{
  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], E_DImode)
      || GET_MODE (x1) != E_DImode)
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != E_SImode)
    return -1;
  switch (XINT (x4, 1))
    {
    case 154:
      x5 = XVECEXP (x4, 0, 0);
      operands[2] = x5;
      if (!const_int_operand (operands[2], E_DImode))
        return -1;
      x6 = XVECEXP (x4, 0, 1);
      operands[3] = x6;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x7 = XVECEXP (x4, 0, 2);
      operands[4] = x7;
      if (!const_int_operand (operands[4], E_DImode))
        return -1;
      return 0;

    case 291:
      x6 = XVECEXP (x4, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      res = pattern374 (x4);
      if (res >= 0)
        return res + 1; /* [1, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern376 (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[3], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_QImode:
      if (!register_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern377 (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[1] = x4;
  if (!aarch64_imm3 (operands[2], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern376 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern376 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern378 (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);
  operands[1] = x3;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], i1))
    return -1;
  return pattern157 (); /* [-1, 2] */
}

static int
pattern379 (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);
  operands[2] = x3;
  if (!register_operand (operands[2], i2))
    return -1;
  x4 = XEXP (x1, 1);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern380 (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, 0);
  if (GET_CODE (x3) != VEC_SELECT)
    return -1;
  x4 = XEXP (x1, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  return pattern48 (x1); /* [-1, 2] */
}

static int
pattern381 (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) != i3
      || !register_operand (operands[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern382 (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[1] = x2;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern381 (x1, E_V8HImode, E_V16QImode, E_V8QImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern381 (x1, E_V4SImode, E_V8HImode, E_V4HImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern381 (x1, E_V2DImode, E_V4SImode, E_V2SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern383 (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) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], i2))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  operands[3] = x6;
  if (!register_operand (operands[3], i2))
    return -1;
  x7 = XEXP (x1, 1);
  operands[1] = x7;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

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

    case E_V8HImode:
      if (pattern383 (x1, E_V8HImode, E_V8QImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern383 (x1, E_V4SImode, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V2DImode:
      if (pattern383 (x1, E_V2DImode, E_V2SImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern385 (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, 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[2], i4))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i3
      || !register_operand (operands[3], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern386 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x2, 0);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  x7 = XEXP (x1, 1);
  operands[1] = x7;
  x8 = XEXP (x4, 0);
  switch (GET_CODE (x8))
    {
    case REG:
    case SUBREG:
      operands[3] = x8;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          return pattern385 (x1, E_V4SImode, E_HImode, E_SImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern385 (x1, E_V2DImode, E_SImode, E_DImode, E_V2SImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case VEC_SELECT:
      x9 = XEXP (x8, 1);
      if (GET_CODE (x9) != PARALLEL
          || XVECLEN (x9, 0) != 1)
        return -1;
      x10 = XEXP (x8, 0);
      operands[3] = x10;
      x11 = XVECEXP (x9, 0, 0);
      operands[4] = x11;
      if (!immediate_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || GET_MODE (x2) != E_V4SImode
              || GET_MODE (x5) != E_V4SImode
              || !register_operand (operands[2], E_V4HImode)
              || GET_MODE (x3) != E_V4SImode
              || GET_MODE (x4) != E_SImode
              || GET_MODE (x8) != E_HImode
              || !register_operand (operands[1], E_V4SImode))
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode))
                return -1;
              return 2;

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

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x1) != E_V2DImode
              || GET_MODE (x2) != E_V2DImode
              || GET_MODE (x5) != E_V2DImode
              || !register_operand (operands[2], E_V2SImode)
              || GET_MODE (x3) != E_V2DImode
              || GET_MODE (x4) != E_DImode
              || GET_MODE (x8) != E_SImode
              || !register_operand (operands[1], E_V2DImode))
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode))
                return -1;
              return 4;

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern387 (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 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_rshift_imm (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern388 (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, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[4] = x3;
  x4 = XVECEXP (x2, 0, 1);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  x7 = XEXP (x1, 1);
  operands[1] = x7;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern387 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern387 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern387 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern387 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern389 (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[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V8QImode:
      if (!register_operand (operands[3], E_V8QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern390 (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, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!immediate_operand (operands[4], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V2SImode:
      return pattern389 (x1, E_V2SImode, E_V8QImode); /* [-1, 1] */

    case E_V4SImode:
      res = pattern389 (x1, E_V4SImode, E_V16QImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern391 (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) != E_SImode)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], E_SImode)
      || GET_MODE (x1) != E_SImode)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[3] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[2], E_VNx16BImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern392 (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))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_QImode:
      if (!register_operand (operands[2], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern393 (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
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern394 (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 E_SImode:
      return pattern392 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern392 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    case E_V8HImode:
      if (pattern393 (x1, E_V8QImode, E_V8HImode) != 0)
        return -1;
      return 6;

    case E_V4SImode:
      if (pattern393 (x1, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 7;

    case E_V2DImode:
      if (pattern393 (x1, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern395 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern396 (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;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern395 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern395 (x1, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern395 (x1, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern397 (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);
  operands[3] = x2;
  if (!register_operand (operands[3], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  if (!register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern398 (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);
  operands[1] = x2;
  if (!register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern399 (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[1], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern400 (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, 1);
  return pattern399 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern401 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  operands[3] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      return pattern400 (x1, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern400 (x1, E_VNx8HImode, E_VNx4SImode) != 0)
        return -1;
      return 1;

    case E_VNx2DImode:
      if (pattern400 (x1, E_VNx4SImode, E_VNx2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern402 (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))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern403 (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 = XVECEXP (x2, 0, 1);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      return pattern401 (x1); /* [-1, 2] */

    case UNSPEC:
      if (XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != 153)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[4] = x5;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern402 (x1, E_VNx8HImode, E_VNx4SImode) != 0)
            return -1;
          return 3;

        case E_VNx2DImode:
          if (pattern402 (x1, E_VNx4SImode, E_VNx2DImode) != 0)
            return -1;
          return 4;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

static int
pattern405 (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
      || !aarch64_borrow_operation (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern406 (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, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern407 (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 (!rtx_equal_p (x3, operands[1]))
    return -1;
  x4 = XEXP (x2, 1);
  if (!rtx_equal_p (x4, operands[2]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      return pattern406 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern406 (x1, E_V16QImode) != 0)
        return -1;
      return 1;

    case E_V4HImode:
      if (pattern406 (x1, E_V4HImode) != 0)
        return -1;
      return 2;

    case E_V8HImode:
      if (pattern406 (x1, E_V8HImode) != 0)
        return -1;
      return 3;

    case E_V2SImode:
      if (pattern406 (x1, E_V2SImode) != 0)
        return -1;
      return 4;

    case E_V4SImode:
      if (pattern406 (x1, E_V4SImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

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);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_DImode:
      return pattern50 (x1, E_SImode, E_DImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern50 (x1, E_V8QImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern50 (x1, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 2;

    case E_V2DImode:
      if (pattern50 (x1, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern409 (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], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3
      || !register_operand (operands[1], i4))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern410 (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, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL
          || XVECLEN (x5, 0) != 1)
        return -1;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      x7 = XVECEXP (x5, 0, 0);
      operands[3] = x7;
      if (!immediate_operand (operands[3], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode)
            return -1;
          x8 = XEXP (x1, 0);
          if (GET_MODE (x8) != E_V4SImode
              || !register_operand (operands[1], E_V4HImode)
              || GET_MODE (x2) != E_V4SImode
              || GET_MODE (x3) != E_SImode
              || GET_MODE (x4) != E_HImode)
            return -1;
          switch (GET_MODE (operands[2]))
            {
            case E_V4HImode:
              if (!register_operand (operands[2], E_V4HImode))
                return -1;
              return 0;

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

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x1) != E_V2DImode)
            return -1;
          x8 = XEXP (x1, 0);
          if (GET_MODE (x8) != E_V2DImode
              || !register_operand (operands[1], E_V2SImode)
              || GET_MODE (x2) != E_V2DImode
              || GET_MODE (x3) != E_DImode
              || GET_MODE (x4) != E_SImode)
            return -1;
          switch (GET_MODE (operands[2]))
            {
            case E_V2SImode:
              if (!register_operand (operands[2], E_V2SImode))
                return -1;
              return 2;

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[2] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (pattern409 (x1, E_HImode, E_SImode, E_V4SImode, E_V4HImode) != 0)
            return -1;
          return 4;

        case E_V2DImode:
          if (pattern409 (x1, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern411 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4, machine_mode i5)
{
  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) != i5
      || !register_operand (operands[1], i4)
      || !vect_par_cnst_hi_half (operands[3], i4))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern412 (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, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL
          || XVECLEN (x5, 0) != 1)
        return -1;
      x6 = XEXP (x1, 0);
      x7 = XEXP (x6, 0);
      x8 = XEXP (x7, 1);
      operands[2] = x8;
      x9 = XEXP (x4, 0);
      operands[3] = x9;
      x10 = XVECEXP (x5, 0, 0);
      operands[4] = x10;
      if (!immediate_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || GET_MODE (x6) != E_V4SImode
              || GET_MODE (x7) != E_V4HImode
              || !register_operand (operands[1], E_V8HImode)
              || !vect_par_cnst_hi_half (operands[2], E_V8HImode)
              || GET_MODE (x2) != E_V4SImode
              || GET_MODE (x3) != E_SImode
              || GET_MODE (x4) != E_HImode)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode))
                return -1;
              return 0;

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

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x1) != E_V2DImode
              || GET_MODE (x6) != E_V2DImode
              || GET_MODE (x7) != E_V2SImode
              || !register_operand (operands[1], E_V4SImode)
              || !vect_par_cnst_hi_half (operands[2], E_V4SImode)
              || GET_MODE (x2) != E_V2DImode
              || GET_MODE (x3) != E_DImode
              || GET_MODE (x4) != E_SImode)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode))
                return -1;
              return 2;

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[2] = x4;
      x6 = XEXP (x1, 0);
      x7 = XEXP (x6, 0);
      x8 = XEXP (x7, 1);
      operands[3] = x8;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (pattern411 (x1, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode) != 0)
            return -1;
          return 4;

        case E_V2DImode:
          if (pattern411 (x1, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern413 (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
      || !general_operand (operands[3], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i2)
      || !memory_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern414 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      return pattern413 (x1, E_VNx8QImode, E_VNx8BImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx4HImode:
      if (pattern413 (x1, E_VNx4QImode, E_VNx4BImode, E_VNx4HImode) != 0)
        return -1;
      return 1;

    case E_VNx2HImode:
      if (pattern413 (x1, E_VNx2QImode, E_VNx2BImode, E_VNx2HImode) != 0)
        return -1;
      return 2;

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || !general_operand (operands[3], E_VNx4BImode))
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx4SImode
          || !register_operand (operands[2], E_VNx4BImode))
        return -1;
      x3 = XEXP (x2, 0);
      switch (GET_MODE (x3))
        {
        case E_VNx4QImode:
          if (!memory_operand (operands[1], E_VNx4QImode))
            return -1;
          return 3;

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

        default:
          return -1;
        }

    case E_VNx2SImode:
      if (!register_operand (operands[0], E_VNx2SImode)
          || GET_MODE (x1) != E_VNx2SImode
          || !general_operand (operands[3], E_VNx2BImode))
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx2SImode
          || !register_operand (operands[2], E_VNx2BImode))
        return -1;
      x3 = XEXP (x2, 0);
      switch (GET_MODE (x3))
        {
        case E_VNx2QImode:
          if (!memory_operand (operands[1], E_VNx2QImode))
            return -1;
          return 5;

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

        default:
          return -1;
        }

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !general_operand (operands[3], E_VNx2BImode))
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx2DImode
          || !register_operand (operands[2], E_VNx2BImode))
        return -1;
      x3 = XEXP (x2, 0);
      switch (GET_MODE (x3))
        {
        case E_VNx2QImode:
          if (!memory_operand (operands[1], E_VNx2QImode))
            return -1;
          return 7;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern415 (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
      || !general_operand (operands[3], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i2)
      || !aarch64_sve_ldff1_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern416 (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
      || !general_operand (operands[3], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i2)
      || !aarch64_sve_ldnf1_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern417 (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], i4)
      || GET_MODE (x1) != i4
      || !general_operand (operands[6], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i4)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3
      || !register_operand (operands[5], i2)
      || !aarch64_sve_gather_offset_b (operands[1], E_DImode)
      || !register_operand (operands[2], i1)
      || !aarch64_gather_scale_operand_b (operands[4], E_DImode))
    return -1;
  return 0;
}

static int
pattern418 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], E_VNx4SImode)
      || GET_MODE (x1) != E_VNx4SImode
      || !general_operand (operands[6], E_VNx4BImode))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != E_VNx4SImode
      || !register_operand (operands[5], E_VNx4BImode)
      || !register_operand (operands[2], E_VNx4SImode))
    return -1;
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case E_VNx4QImode:
      if (!aarch64_sve_gather_offset_b (operands[1], E_DImode)
          || !aarch64_gather_scale_operand_b (operands[4], E_DImode))
        return -1;
      return 0;

    case E_VNx4HImode:
      if (!aarch64_sve_gather_offset_h (operands[1], E_DImode)
          || !aarch64_gather_scale_operand_h (operands[4], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern419 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], E_VNx2DImode)
      || GET_MODE (x1) != E_VNx2DImode
      || !general_operand (operands[6], E_VNx2BImode))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != E_VNx2DImode
      || !register_operand (operands[5], E_VNx2BImode)
      || !register_operand (operands[2], E_VNx2DImode))
    return -1;
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case E_VNx2QImode:
      if (!aarch64_sve_gather_offset_b (operands[1], E_DImode)
          || !aarch64_gather_scale_operand_b (operands[4], E_DImode))
        return -1;
      return 0;

    case E_VNx2HImode:
      if (!aarch64_sve_gather_offset_h (operands[1], E_DImode)
          || !aarch64_gather_scale_operand_h (operands[4], E_DImode))
        return -1;
      return 1;

    case E_VNx2SImode:
      if (!aarch64_sve_gather_offset_w (operands[1], E_DImode)
          || !aarch64_gather_scale_operand_w (operands[4], E_DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern420 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (x1))
    {
    case E_VNx2QImode:
      if (!aarch64_gather_scale_operand_b (operands[4], E_DImode))
        return -1;
      return 0;

    case E_VNx2HImode:
      if (!aarch64_gather_scale_operand_h (operands[4], E_DImode))
        return -1;
      return 1;

    case E_VNx2SImode:
      if (!aarch64_gather_scale_operand_w (operands[4], E_DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern421 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx2HImode:
      if (!register_operand (operands[0], E_VNx2HImode)
          || GET_MODE (x1) != E_VNx2HImode)
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx2HImode)
        return -1;
      x3 = XEXP (x2, 0);
      if (GET_MODE (x3) != E_VNx2QImode
          || !aarch64_gather_scale_operand_b (operands[4], E_DImode))
        return -1;
      return 0;

    case E_VNx2SImode:
      if (!register_operand (operands[0], E_VNx2SImode)
          || GET_MODE (x1) != E_VNx2SImode)
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx2SImode)
        return -1;
      x3 = XEXP (x2, 0);
      switch (GET_MODE (x3))
        {
        case E_VNx2QImode:
          if (!aarch64_gather_scale_operand_b (operands[4], E_DImode))
            return -1;
          return 1;

        case E_VNx2HImode:
          if (!aarch64_gather_scale_operand_h (operands[4], E_DImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode)
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx2DImode)
        return -1;
      x3 = XEXP (x2, 0);
      res = pattern420 (x3);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern422 (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);
  x4 = XVECEXP (x3, 0, 2);
  x5 = XVECEXP (x4, 0, 1);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  if (!register_operand (operands[2], E_VNx2SImode))
    return -1;
  return pattern421 (x1); /* [-1, 5] */
}

static int
pattern423 (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);
  x3 = XEXP (x2, 0);
  switch (XVECLEN (x3, 0))
    {
    case 2:
      x4 = XVECEXP (x1, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x3, 0, 0);
      operands[2] = x5;
      x6 = XVECEXP (x3, 0, 1);
      operands[1] = x6;
      switch (XINT (x3, 1))
        {
        case 118:
          return pattern414 (x1); /* [-1, 9] */

        case 108:
          res = pattern414 (x1);
          if (res >= 0)
            return res + 10; /* [10, 19] */
          return -1;

        default:
          return -1;
        }

    case 3:
      x7 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x7) != REG
          || REGNO (x7) != 85
          || GET_MODE (x7) != E_VNx16BImode)
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x3, 0, 0);
      operands[2] = x5;
      x6 = XVECEXP (x3, 0, 1);
      operands[1] = x6;
      switch (XINT (x3, 1))
        {
        case 381:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern415 (x1, E_VNx8QImode, E_VNx8BImode, E_VNx8HImode) != 0)
                return -1;
              return 20;

            case E_VNx4HImode:
              if (pattern415 (x1, E_VNx4QImode, E_VNx4BImode, E_VNx4HImode) != 0)
                return -1;
              return 21;

            case E_VNx2HImode:
              if (pattern415 (x1, E_VNx2QImode, E_VNx2BImode, E_VNx2HImode) != 0)
                return -1;
              return 22;

            case E_VNx4SImode:
              if (!register_operand (operands[0], E_VNx4SImode)
                  || GET_MODE (x1) != E_VNx4SImode
                  || !general_operand (operands[3], E_VNx4BImode)
                  || GET_MODE (x2) != E_VNx4SImode
                  || !register_operand (operands[2], E_VNx4BImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx4QImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx4QImode))
                    return -1;
                  return 23;

                case E_VNx4HImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx4HImode))
                    return -1;
                  return 24;

                default:
                  return -1;
                }

            case E_VNx2SImode:
              if (!register_operand (operands[0], E_VNx2SImode)
                  || GET_MODE (x1) != E_VNx2SImode
                  || !general_operand (operands[3], E_VNx2BImode)
                  || GET_MODE (x2) != E_VNx2SImode
                  || !register_operand (operands[2], E_VNx2BImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx2QImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx2QImode))
                    return -1;
                  return 25;

                case E_VNx2HImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx2HImode))
                    return -1;
                  return 26;

                default:
                  return -1;
                }

            case E_VNx2DImode:
              if (!register_operand (operands[0], E_VNx2DImode)
                  || GET_MODE (x1) != E_VNx2DImode
                  || !general_operand (operands[3], E_VNx2BImode)
                  || GET_MODE (x2) != E_VNx2DImode
                  || !register_operand (operands[2], E_VNx2BImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx2QImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx2QImode))
                    return -1;
                  return 27;

                case E_VNx2HImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx2HImode))
                    return -1;
                  return 28;

                case E_VNx2SImode:
                  if (!aarch64_sve_ldff1_operand (operands[1], E_VNx2SImode))
                    return -1;
                  return 29;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 382:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern416 (x1, E_VNx8QImode, E_VNx8BImode, E_VNx8HImode) != 0)
                return -1;
              return 30;

            case E_VNx4HImode:
              if (pattern416 (x1, E_VNx4QImode, E_VNx4BImode, E_VNx4HImode) != 0)
                return -1;
              return 31;

            case E_VNx2HImode:
              if (pattern416 (x1, E_VNx2QImode, E_VNx2BImode, E_VNx2HImode) != 0)
                return -1;
              return 32;

            case E_VNx4SImode:
              if (!register_operand (operands[0], E_VNx4SImode)
                  || GET_MODE (x1) != E_VNx4SImode
                  || !general_operand (operands[3], E_VNx4BImode)
                  || GET_MODE (x2) != E_VNx4SImode
                  || !register_operand (operands[2], E_VNx4BImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx4QImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx4QImode))
                    return -1;
                  return 33;

                case E_VNx4HImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx4HImode))
                    return -1;
                  return 34;

                default:
                  return -1;
                }

            case E_VNx2SImode:
              if (!register_operand (operands[0], E_VNx2SImode)
                  || GET_MODE (x1) != E_VNx2SImode
                  || !general_operand (operands[3], E_VNx2BImode)
                  || GET_MODE (x2) != E_VNx2SImode
                  || !register_operand (operands[2], E_VNx2BImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx2QImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx2QImode))
                    return -1;
                  return 35;

                case E_VNx2HImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx2HImode))
                    return -1;
                  return 36;

                default:
                  return -1;
                }

            case E_VNx2DImode:
              if (!register_operand (operands[0], E_VNx2DImode)
                  || GET_MODE (x1) != E_VNx2DImode
                  || !general_operand (operands[3], E_VNx2BImode)
                  || GET_MODE (x2) != E_VNx2DImode
                  || !register_operand (operands[2], E_VNx2BImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx2QImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx2QImode))
                    return -1;
                  return 37;

                case E_VNx2HImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx2HImode))
                    return -1;
                  return 38;

                case E_VNx2SImode:
                  if (!aarch64_sve_ldnf1_operand (operands[1], E_VNx2SImode))
                    return -1;
                  return 39;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 6:
      if (XINT (x3, 1) != 113)
        return -1;
      x8 = XVECEXP (x3, 0, 5);
      if (GET_CODE (x8) != MEM
          || GET_MODE (x8) != E_BLKmode)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != SCRATCH)
        return -1;
      x5 = XVECEXP (x3, 0, 0);
      operands[5] = x5;
      x6 = XVECEXP (x3, 0, 1);
      operands[1] = x6;
      x10 = XVECEXP (x3, 0, 3);
      operands[3] = x10;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x11 = XVECEXP (x3, 0, 4);
      operands[4] = x11;
      x7 = XVECEXP (x3, 0, 2);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
          operands[2] = x7;
          x4 = XVECEXP (x1, 0, 0);
          operands[6] = x4;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4HImode:
              if (pattern417 (x1, E_VNx4SImode, E_VNx4BImode, E_VNx4QImode, E_VNx4HImode) != 0)
                return -1;
              return 40;

            case E_VNx4SImode:
              res = pattern418 (x1);
              if (res >= 0)
                return res + 41; /* [41, 42] */
              return -1;

            case E_VNx2HImode:
              if (pattern417 (x1, E_VNx2DImode, E_VNx2BImode, E_VNx2QImode, E_VNx2HImode) != 0)
                return -1;
              return 43;

            case E_VNx2SImode:
              if (!register_operand (operands[0], E_VNx2SImode)
                  || GET_MODE (x1) != E_VNx2SImode
                  || !general_operand (operands[6], E_VNx2BImode)
                  || GET_MODE (x2) != E_VNx2SImode
                  || !register_operand (operands[5], E_VNx2BImode)
                  || !register_operand (operands[2], E_VNx2DImode))
                return -1;
              switch (GET_MODE (x3))
                {
                case E_VNx2QImode:
                  if (!aarch64_sve_gather_offset_b (operands[1], E_DImode)
                      || !aarch64_gather_scale_operand_b (operands[4], E_DImode))
                    return -1;
                  return 44;

                case E_VNx2HImode:
                  if (!aarch64_sve_gather_offset_h (operands[1], E_DImode)
                      || !aarch64_gather_scale_operand_h (operands[4], E_DImode))
                    return -1;
                  return 45;

                default:
                  return -1;
                }

            case E_VNx2DImode:
              res = pattern419 (x1);
              if (res >= 0)
                return res + 46; /* [46, 48] */
              return -1;

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x7, 0) != 2
              || XINT (x7, 1) != 118
              || GET_MODE (x7) != E_VNx2DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 0);
          operands[6] = x4;
          if (!register_operand (operands[5], E_VNx2BImode)
              || !aarch64_reg_or_zero (operands[1], E_DImode))
            return -1;
          x12 = XVECEXP (x7, 0, 0);
          operands[7] = x12;
          x13 = XVECEXP (x7, 0, 1);
          if (GET_MODE (x13) != E_VNx2DImode)
            return -1;
          switch (GET_CODE (x13))
            {
            case SIGN_EXTEND:
              x14 = XEXP (x13, 0);
              switch (GET_CODE (x14))
                {
                case REG:
                case SUBREG:
                  res = pattern422 (x1);
                  if (res >= 0)
                    return res + 49; /* [49, 54] */
                  return -1;

                case TRUNCATE:
                  if (GET_MODE (x14) != E_VNx2SImode)
                    return -1;
                  x15 = XEXP (x14, 0);
                  operands[2] = x15;
                  if (!register_operand (operands[2], E_VNx2DImode))
                    return -1;
                  res = pattern421 (x1);
                  if (res >= 0)
                    return res + 55; /* [55, 60] */
                  return -1;

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              res = pattern422 (x1);
              if (res >= 0)
                return res + 61; /* [61, 66] */
              return -1;

            default:
              return -1;
            }

        case AND:
          if (GET_MODE (x7) != E_VNx2DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 0);
          operands[7] = x4;
          if (!register_operand (operands[5], E_VNx2BImode)
              || !aarch64_reg_or_zero (operands[1], E_DImode))
            return -1;
          x16 = XEXP (x7, 0);
          operands[2] = x16;
          if (!register_operand (operands[2], E_VNx2DImode))
            return -1;
          x17 = XEXP (x7, 1);
          operands[6] = x17;
          if (!aarch64_sve_uxtw_immediate (operands[6], E_VNx2DImode))
            return -1;
          res = pattern421 (x1);
          if (res >= 0)
            return res + 67; /* [67, 72] */
          return -1;

        default:
          return -1;
        }

    case 7:
      if (XINT (x3, 1) != 114)
        return -1;
      x8 = XVECEXP (x3, 0, 5);
      if (GET_CODE (x8) != MEM
          || GET_MODE (x8) != E_BLKmode)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != SCRATCH)
        return -1;
      x18 = XVECEXP (x3, 0, 6);
      if (GET_CODE (x18) != REG
          || REGNO (x18) != 85
          || GET_MODE (x18) != E_VNx16BImode)
        return -1;
      x5 = XVECEXP (x3, 0, 0);
      operands[5] = x5;
      x6 = XVECEXP (x3, 0, 1);
      operands[1] = x6;
      x10 = XVECEXP (x3, 0, 3);
      operands[3] = x10;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x11 = XVECEXP (x3, 0, 4);
      operands[4] = x11;
      x7 = XVECEXP (x3, 0, 2);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
          operands[2] = x7;
          x4 = XVECEXP (x1, 0, 0);
          operands[6] = x4;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SImode:
              res = pattern418 (x1);
              if (res >= 0)
                return res + 73; /* [73, 74] */
              return -1;

            case E_VNx2DImode:
              res = pattern419 (x1);
              if (res >= 0)
                return res + 75; /* [75, 77] */
              return -1;

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x7, 0) != 2
              || XINT (x7, 1) != 118
              || GET_MODE (x7) != E_VNx2DImode)
            return -1;
          x13 = XVECEXP (x7, 0, 1);
          if (GET_CODE (x13) != SIGN_EXTEND
              || GET_MODE (x13) != E_VNx2DImode)
            return -1;
          x14 = XEXP (x13, 0);
          if (GET_CODE (x14) != TRUNCATE
              || GET_MODE (x14) != E_VNx2SImode
              || !register_operand (operands[0], E_VNx2DImode)
              || GET_MODE (x1) != E_VNx2DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 0);
          operands[6] = x4;
          if (GET_MODE (x2) != E_VNx2DImode
              || !register_operand (operands[5], E_VNx2BImode)
              || !aarch64_reg_or_zero (operands[1], E_DImode))
            return -1;
          x12 = XVECEXP (x7, 0, 0);
          operands[7] = x12;
          x15 = XEXP (x14, 0);
          operands[2] = x15;
          if (!register_operand (operands[2], E_VNx2DImode))
            return -1;
          res = pattern420 (x3);
          if (res >= 0)
            return res + 78; /* [78, 80] */
          return -1;

        case AND:
          if (GET_MODE (x7) != E_VNx2DImode
              || !register_operand (operands[0], E_VNx2DImode)
              || GET_MODE (x1) != E_VNx2DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 0);
          operands[7] = x4;
          if (GET_MODE (x2) != E_VNx2DImode
              || !register_operand (operands[5], E_VNx2BImode)
              || !aarch64_reg_or_zero (operands[1], E_DImode))
            return -1;
          x16 = XEXP (x7, 0);
          operands[2] = x16;
          if (!register_operand (operands[2], E_VNx2DImode))
            return -1;
          x17 = XEXP (x7, 1);
          operands[6] = x17;
          if (!aarch64_sve_uxtw_immediate (operands[6], E_VNx2DImode))
            return -1;
          res = pattern420 (x3);
          if (res >= 0)
            return res + 81; /* [81, 83] */
          return -1;

        default:
          return -1;
        }

    case 4:
      if (XINT (x3, 1) != 115)
        return -1;
      x10 = XVECEXP (x3, 0, 3);
      if (GET_CODE (x10) != MEM
          || GET_MODE (x10) != E_BLKmode)
        return -1;
      x19 = XEXP (x10, 0);
      if (GET_CODE (x19) != SCRATCH)
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      x6 = XVECEXP (x3, 0, 1);
      operands[2] = x6;
      if (!aarch64_reg_or_zero (operands[2], E_DImode))
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (!register_operand (operands[0], E_VNx4SImode)
              || GET_MODE (x1) != E_VNx4SImode
              || !general_operand (operands[4], E_VNx4BImode)
              || GET_MODE (x2) != E_VNx4SImode
              || !register_operand (operands[1], E_VNx4BImode)
              || !register_operand (operands[3], E_VNx4SImode))
            return -1;
          switch (GET_MODE (x3))
            {
            case E_VNx4QImode:
              return 84;

            case E_VNx4HImode:
              return 85;

            default:
              return -1;
            }

        case E_VNx2DImode:
          if (!register_operand (operands[0], E_VNx2DImode)
              || GET_MODE (x1) != E_VNx2DImode
              || !general_operand (operands[4], E_VNx2BImode)
              || GET_MODE (x2) != E_VNx2DImode
              || !register_operand (operands[1], E_VNx2BImode)
              || !register_operand (operands[3], E_VNx2DImode))
            return -1;
          switch (GET_MODE (x3))
            {
            case E_VNx2QImode:
              return 86;

            case E_VNx2HImode:
              return 87;

            case E_VNx2SImode:
              return 88;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern424 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

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

    case E_VNx4HImode:
      if (pattern424 (x1, E_VNx4QImode, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2HImode:
      if (pattern424 (x1, E_VNx2QImode, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || !register_operand (operands[1], E_VNx4BImode)
          || GET_MODE (x2) != E_VNx4SImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode))
            return -1;
          return 3;

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

        default:
          return -1;
        }

    case E_VNx2SImode:
      if (!register_operand (operands[0], E_VNx2SImode)
          || GET_MODE (x1) != E_VNx2SImode
          || !register_operand (operands[1], E_VNx2BImode)
          || GET_MODE (x2) != E_VNx2SImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode))
            return -1;
          return 5;

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

        default:
          return -1;
        }

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2BImode)
          || GET_MODE (x2) != E_VNx2DImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode))
            return -1;
          return 7;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern426 (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 = XVECEXP (x1, 0, 1);
  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) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern427 (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);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != AND)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != XOR)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  operands[4] = x6;
  x7 = XEXP (x5, 0);
  operands[1] = x7;
  x8 = XEXP (x5, 1);
  operands[2] = x8;
  x9 = XEXP (x4, 1);
  operands[3] = x9;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern426 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern426 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern426 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern426 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern428 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2
      || XINT (x1, 1) != 118
      || GET_MODE (x1) != E_VNx2DImode)
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SIGN_EXTEND
      || GET_MODE (x2) != E_VNx2DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != TRUNCATE
      || GET_MODE (x3) != E_VNx2SImode)
    return -1;
  return 0;
}

static int
pattern429 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_rshift_imm (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern430 (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);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern318 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8QImode:
          if (pattern318 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4QImode:
          if (pattern318 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          return 2;

        case E_VNx2QImode:
          if (pattern318 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          return 3;

        case E_VNx8HImode:
          if (pattern318 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 4;

        case E_VNx4HImode:
          if (pattern318 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 5;

        case E_VNx2HImode:
          if (pattern318 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 6;

        case E_VNx4SImode:
          if (pattern318 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 7;

        case E_VNx2SImode:
          if (pattern318 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 8;

        case E_VNx2DImode:
          if (pattern318 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 9;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern429 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 10;

        case E_VNx8QImode:
          if (pattern429 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          return 11;

        case E_VNx4QImode:
          if (pattern429 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          return 12;

        case E_VNx2QImode:
          if (pattern429 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          return 13;

        case E_VNx8HImode:
          if (pattern429 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 14;

        case E_VNx4HImode:
          if (pattern429 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 15;

        case E_VNx2HImode:
          if (pattern429 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 16;

        case E_VNx4SImode:
          if (pattern429 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 17;

        case E_VNx2SImode:
          if (pattern429 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 18;

        case E_VNx2DImode:
          if (pattern429 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 19;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern431 (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)
      || !aarch64_sve_float_arith_with_sub_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern432 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  operands[2] = x2;
  x3 = XVECEXP (x1, 0, 3);
  operands[3] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern431 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern431 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern431 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern433 (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)
      || !aarch64_sve_float_arith_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern434 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  operands[2] = x2;
  x3 = XVECEXP (x1, 0, 3);
  operands[3] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern433 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern433 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern433 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern435 (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)
      || !aarch64_sve_float_mul_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern436 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  operands[2] = x2;
  x3 = XVECEXP (x1, 0, 3);
  operands[3] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern435 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern435 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern435 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern437 (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)
      || !aarch64_reg_or_bic_imm (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern438 (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)
    return -1;
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  if (!register_operand (operands[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x2, 1);
  operands[1] = x5;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern439 (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)
    return -1;
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x2, 1);
  operands[3] = x5;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern440 (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);
  operands[2] = x3;
  if (!register_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x1, 1);
  operands[3] = x4;
  if (!register_operand (operands[3], i1))
    return -1;
  x5 = XEXP (x1, 2);
  operands[1] = x5;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern441 (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);
  operands[1] = x3;
  if (!register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x1, 2);
  operands[3] = x5;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern442 (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;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x1) != E_V16QImode
          || !register_operand (operands[1], E_V8QImode)
          || GET_MODE (x2) != E_V8QImode
          || GET_MODE (x3) != E_V8HImode
          || !register_operand (operands[2], E_V8HImode)
          || !aarch64_simd_shift_imm_vec_qi (operands[3], E_V8HImode))
        return -1;
      return 0;

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x1) != E_V8HImode
          || !register_operand (operands[1], E_V4HImode)
          || GET_MODE (x2) != E_V4HImode
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[2], E_V4SImode)
          || !aarch64_simd_shift_imm_vec_hi (operands[3], E_V4SImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x1) != E_V4SImode
          || !register_operand (operands[1], E_V2SImode)
          || GET_MODE (x2) != E_V2SImode
          || GET_MODE (x3) != E_V2DImode
          || !register_operand (operands[2], E_V2DImode)
          || !aarch64_simd_shift_imm_vec_si (operands[3], E_V2DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

        case E_DImode:
          return 1;

        default:
          return -1;
        }

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || !aarch64_imm24 (operands[1], E_DImode))
        return -1;
      switch (GET_MODE (x1))
        {
        case E_SImode:
          return 2;

        case E_DImode:
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern444 (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[0] = x3;
  x4 = XEXP (x2, 1);
  operands[1] = x4;
  x5 = XEXP (x1, 1);
  return pattern443 (x5); /* [-1, 3] */
}

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);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 3
      || XINT (x2, 1) != 291
      || GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[3] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  x6 = XEXP (x1, 1);
  operands[1] = x6;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  return pattern26 (); /* [-1, 3] */
}

static int
pattern446 (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) != UNSPEC
      || XVECLEN (x2, 0) != 3
      || XINT (x2, 1) != 291
      || GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XEXP (x1, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  return pattern374 (x2); /* [-1, 3] */
}

static int
pattern447 (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)
      || !aarch64_logical_and_immediate (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern448 (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)
      || !vect_par_cnst_lo_half (operands[2], i1))
    return -1;
  return 0;
}

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern450 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x3, 0, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XVECEXP (x5, 0, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern451 (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 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x2, 0);
  x6 = XVECEXP (x5, 0, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  x8 = XEXP (x6, 1);
  operands[3] = x8;
  x9 = XEXP (x4, 0);
  if (!rtx_equal_p (x9, operands[2]))
    return -1;
  x10 = XEXP (x4, 1);
  if (!rtx_equal_p (x10, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern450 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern450 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern450 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern450 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern450 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern450 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern450 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern450 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern450 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern450 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern452 (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, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      x4 = XEXP (x2, 1);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[3] = x4;
          operands[2] = x3;
          return 0;

        case MULT:
          operands[4] = x3;
          x5 = XEXP (x4, 0);
          operands[2] = x5;
          x6 = XEXP (x4, 1);
          operands[3] = x6;
          return 1;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != 118)
        return -1;
      x4 = XEXP (x2, 1);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 118)
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      switch (GET_CODE (x7))
        {
        case SMAX:
          res = pattern451 (x1, SMIN);
          if (res >= 0)
            return res + 2; /* [2, 11] */
          return -1;

        case UMAX:
          res = pattern451 (x1, UMIN);
          if (res >= 0)
            return res + 12; /* [12, 21] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern453 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern454 (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 = XEXP (x2, 0);
  operands[2] = x3;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  x5 = XVECEXP (x1, 0, 2);
  operands[4] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern453 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern453 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern453 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern453 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern453 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern453 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern453 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern453 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern453 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern453 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern455 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_rshift_imm (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern456 (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 = XEXP (x2, 0);
  operands[2] = x3;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  x5 = XVECEXP (x1, 0, 2);
  operands[4] = x5;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern453 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8QImode:
          if (pattern453 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4QImode:
          if (pattern453 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          return 2;

        case E_VNx2QImode:
          if (pattern453 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          return 3;

        case E_VNx8HImode:
          if (pattern453 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 4;

        case E_VNx4HImode:
          if (pattern453 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 5;

        case E_VNx2HImode:
          if (pattern453 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 6;

        case E_VNx4SImode:
          if (pattern453 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 7;

        case E_VNx2SImode:
          if (pattern453 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 8;

        case E_VNx2DImode:
          if (pattern453 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 9;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern455 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 10;

        case E_VNx8QImode:
          if (pattern455 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          return 11;

        case E_VNx4QImode:
          if (pattern455 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          return 12;

        case E_VNx2QImode:
          if (pattern455 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          return 13;

        case E_VNx8HImode:
          if (pattern455 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 14;

        case E_VNx4HImode:
          if (pattern455 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 15;

        case E_VNx2HImode:
          if (pattern455 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 16;

        case E_VNx4SImode:
          if (pattern455 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 17;

        case E_VNx2SImode:
          if (pattern455 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 18;

        case E_VNx2DImode:
          if (pattern455 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 19;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern457 (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 = XEXP (x2, 0);
  operands[2] = x3;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  x5 = XVECEXP (x1, 0, 2);
  operands[4] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx4SImode:
      return pattern453 (x1, E_VNx4SImode, E_VNx4BImode); /* [-1, 0] */

    case E_VNx2DImode:
      if (pattern453 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern458 (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))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern459 (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, 2);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 3
      || XINT (x2, 1) != 333)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 3
      || XINT (x4, 1) != 333)
    return -1;
  x5 = XVECEXP (x4, 0, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
      || !aarch64_sve_ptrue_flag (operands[4], E_SImode))
    return -1;
  x6 = XVECEXP (x2, 0, 0);
  operands[5] = x6;
  x7 = XVECEXP (x2, 0, 2);
  operands[2] = x7;
  x8 = XVECEXP (x4, 0, 0);
  operands[6] = x8;
  x9 = XVECEXP (x4, 0, 2);
  operands[3] = x9;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8BImode:
      return pattern458 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4BImode:
      if (pattern458 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2BImode:
      if (pattern458 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern460 (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
pattern461 (rtx x1, int i1, int i2)
{
  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) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != i2
      || XINT (x3, 1) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  return pattern460 (x4, E_CCmode, 66); /* [-1, 0] */
}

static int
pattern462 (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 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[0] = x3;
      return 0;

    case ZERO_EXTRACT:
      if (pnum_clobbers == NULL
          || GET_MODE (x3) != E_DImode)
        return -1;
      x4 = XEXP (x3, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x5 = XEXP (x2, 1);
      if (XWINT (x5, 0) != 0L)
        return -1;
      x6 = XEXP (x3, 0);
      operands[0] = x6;
      x7 = XEXP (x3, 2);
      operands[1] = x7;
      x8 = XEXP (x1, 1);
      x9 = XEXP (x8, 0);
      operands[2] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || !aarch64_simd_shift_imm_si (operands[1], E_VOIDmode))
            return -1;
          return 1;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern463 (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, 1);
  if (XWINT (x3, 0) != 0L)
    return -1;
  x4 = XEXP (x2, 0);
  operands[0] = x4;
  x5 = XEXP (x1, 1);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (!register_operand (operands[0], E_QImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern464 (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
pattern465 (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) != E_SImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!aarch64_shift_imm_si (operands[2], E_QImode))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!register_operand (operands[3], E_SImode))
    return -1;
  return 0;
}

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

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

    default:
      return -1;
    }
}

static int
pattern467 (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) != E_SImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  switch (GET_MODE (operands[1]))
    {
    case E_QImode:
      return pattern466 (E_QImode); /* [-1, 1] */

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

    default:
      return -1;
    }
}

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);
  switch (GET_MODE (x2))
    {
    case E_QImode:
      switch (GET_MODE (operands[1]))
        {
        case E_V8QImode:
          if (!register_operand (operands[1], E_V8QImode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

    case E_HImode:
      switch (GET_MODE (operands[1]))
        {
        case E_V4HImode:
          if (!register_operand (operands[1], E_V4HImode))
            return -1;
          return 2;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern469 (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)
      || !aarch64_sve_add_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;
  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
      || !aarch64_carry_operation (operands[3], i1)
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern471 (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], i2)
      || !immediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern472 (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 E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || !aarch64_fp_compare_operand (operands[1], E_SFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

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

    case E_DImode:
      res = pattern473 (E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

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
      || !aarch64_sve_arith_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern476 (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
      || !aarch64_reg_or_zero (operands[1], i1)
      || !aarch64_borrow_operation (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, 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);
  operands[1] = x2;
  if (!register_operand (operands[1], i2))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  if (!register_operand (operands[2], i1))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  operands[3] = x7;
  if (!register_operand (operands[3], i1))
    return -1;
  return 0;
}

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

    case E_V8HImode:
      if (pattern477 (x1, E_V8QImode, E_V8HImode) != 0)
        return -1;
      return 1;

    case E_V4SImode:
      if (pattern477 (x1, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 2;

    case E_V2DImode:
      if (pattern477 (x1, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern479 (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, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3
      || !register_operand (operands[2], i4))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern480 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x1, 0);
  operands[1] = x5;
  x6 = XEXP (x2, 0);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  x8 = XEXP (x4, 0);
  switch (GET_CODE (x8))
    {
    case REG:
    case SUBREG:
      operands[3] = x8;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          return pattern479 (x1, E_HImode, E_SImode, E_V4SImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern479 (x1, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case VEC_SELECT:
      x9 = XEXP (x8, 1);
      if (GET_CODE (x9) != PARALLEL
          || XVECLEN (x9, 0) != 1)
        return -1;
      x10 = XEXP (x8, 0);
      operands[3] = x10;
      x11 = XVECEXP (x9, 0, 0);
      operands[4] = x11;
      if (!immediate_operand (operands[4], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || !register_operand (operands[1], E_V4SImode)
              || GET_MODE (x2) != E_V4SImode
              || GET_MODE (x6) != E_V4SImode
              || !register_operand (operands[2], E_V4HImode)
              || GET_MODE (x3) != E_V4SImode
              || GET_MODE (x4) != E_SImode
              || GET_MODE (x8) != E_HImode)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode))
                return -1;
              return 2;

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

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x1) != E_V2DImode
              || !register_operand (operands[1], E_V2DImode)
              || GET_MODE (x2) != E_V2DImode
              || GET_MODE (x6) != E_V2DImode
              || !register_operand (operands[2], E_V2SImode)
              || GET_MODE (x3) != E_V2DImode
              || GET_MODE (x4) != E_DImode
              || GET_MODE (x8) != E_SImode)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode))
                return -1;
              return 4;

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern481 (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[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern482 (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[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern483 (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)
      || !aarch64_imm24 (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern484 (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))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_V16QImode:
      if (!register_operand (operands[1], E_V16QImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern485 (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
pattern486 (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
      || !register_operand (operands[2], i2)
      || !aarch64_sve_ld1rq_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern487 (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], E_VNx8BImode)
      || !aarch64_sve_ld1ro_operand_h (operands[1], E_OImode))
    return -1;
  return 0;
}

static int
pattern488 (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], E_VNx4BImode)
      || !aarch64_sve_ld1ro_operand_w (operands[1], E_OImode))
    return -1;
  return 0;
}

static int
pattern489 (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], E_VNx2BImode)
      || !aarch64_sve_ld1ro_operand_d (operands[1], E_OImode))
    return -1;
  return 0;
}

static int
pattern490 (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)
      || !aarch64_reg_or_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern491 (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))
    return -1;
  return 0;
}

static int
pattern492 (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 = XVECEXP (x1, 0, 0);
  if (!register_operand (x2, i2))
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

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

    case E_VNx8QImode:
      if (pattern318 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern318 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern318 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern318 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern318 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern318 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern318 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern318 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern318 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern494 (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)
      || !aarch64_simd_lshift_imm (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern495 (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
      || !aarch64_simd_or_scalar_imm_zero (operands[2], i1)
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern496 (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], i1)
      || !aarch64_simd_or_scalar_imm_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern497 (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);
  if (GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != MEM
      || GET_MODE (x5) != E_BLKmode)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != SCRATCH
      || !register_operand (operands[0], E_DImode))
    return -1;
  return 0;
}

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

static int
pattern499 (rtx x1, int 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, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != UNSPEC_VOLATILE
      || XVECLEN (x5, 0) != 1
      || XINT (x5, 1) != i1
      || GET_MODE (x5) != E_CC_Zmode)
    return -1;
  x6 = XVECEXP (x5, 0, 0);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XEXP (x4, 0);
  return pattern498 (x7, E_CC_Zmode, E_DImode); /* [-1, 0] */
}

static int
pattern500 (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);
  if (GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != UNSPEC_VOLATILE
      || XVECLEN (x5, 0) != 1
      || XINT (x5, 1) != i1
      || GET_MODE (x5) != E_V8DImode)
    return -1;
  x6 = XEXP (x4, 0);
  if (GET_CODE (x6) != MEM
      || GET_MODE (x6) != E_V8DImode
      || !register_operand (operands[0], E_DImode))
    return -1;
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  if (!register_operand (operands[1], E_DImode))
    return -1;
  x8 = XVECEXP (x5, 0, 0);
  operands[2] = x8;
  if (!register_operand (operands[2], E_V8DImode))
    return -1;
  return 0;
}

static int
pattern501 (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[4] = x3;
  x4 = XVECEXP (x2, 0, 1);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern387 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern387 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern387 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern387 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern502 (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 (!register_operand (x3, i1))
    return -1;
  x4 = XEXP (x2, 1);
  if (!const_int_operand (x4, i1))
    return -1;
  return 0;
}

static int
pattern503 (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, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 56]
      || !register_operand (operands[0], E_DImode)
      || GET_MODE (x1) != E_DImode)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_MODE (x4) != E_DImode)
    return -1;
  return 0;
}

static int
pattern504 (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) != E_SImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[3] = x3;
  if (!register_operand (operands[3], E_SImode))
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x5 = XEXP (x2, 1);
  operands[2] = x5;
  if (!aarch64_shift_imm_si (operands[2], E_QImode))
    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, 1);
  if (GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x4 = XEXP (x2, 0);
  operands[2] = x4;
  switch (GET_MODE (operands[2]))
    {
    case E_QImode:
      if (!register_operand (operands[2], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern506 (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 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !const_1_to_3_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern507 (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 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[2] = x4;
      x5 = XVECEXP (x2, 0, 0);
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx2QImode:
          return pattern506 (x1, E_VNx2QImode); /* [-1, 0] */

        case E_VNx2HImode:
          if (pattern506 (x1, E_VNx2HImode) != 0)
            return -1;
          return 1;

        case E_VNx2SImode:
          if (pattern506 (x1, E_VNx2SImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern506 (x1, E_VNx2DImode) != 0)
            return -1;
          return 3;

        case E_VNx4QImode:
          if (pattern506 (x1, E_VNx4QImode) != 0)
            return -1;
          return 4;

        case E_VNx4HImode:
          if (pattern506 (x1, E_VNx4HImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern506 (x1, E_VNx4SImode) != 0)
            return -1;
          return 6;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 118
          || GET_MODE (x4) != E_VNx2DImode)
        return -1;
      x6 = XVECEXP (x4, 0, 1);
      if (GET_CODE (x6) != SIGN_EXTEND
          || GET_MODE (x6) != E_VNx2DImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != TRUNCATE
          || GET_MODE (x7) != E_VNx2SImode
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || GET_MODE (x2) != E_VNx2DImode)
        return -1;
      x5 = XVECEXP (x2, 0, 0);
      operands[4] = x5;
      if (GET_MODE (x3) != E_VNx2DImode)
        return -1;
      x8 = XVECEXP (x4, 0, 0);
      operands[5] = x8;
      x9 = XEXP (x7, 0);
      operands[2] = x9;
      if (!register_operand (operands[2], E_VNx2DImode)
          || !const_1_to_3_operand (operands[3], E_VNx2DImode)
          || !register_operand (operands[1], E_VNx2DImode))
        return -1;
      return 7;

    case AND:
      if (GET_MODE (x4) != E_VNx2DImode
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || GET_MODE (x2) != E_VNx2DImode)
        return -1;
      x5 = XVECEXP (x2, 0, 0);
      operands[5] = x5;
      if (GET_MODE (x3) != E_VNx2DImode)
        return -1;
      x10 = XEXP (x4, 0);
      operands[2] = x10;
      if (!register_operand (operands[2], E_VNx2DImode))
        return -1;
      x11 = XEXP (x4, 1);
      operands[4] = x11;
      if (!aarch64_sve_uxtw_immediate (operands[4], E_VNx2DImode)
          || !const_1_to_3_operand (operands[3], E_VNx2DImode)
          || !register_operand (operands[1], E_VNx2DImode))
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern508 (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[0] = x3;
  x4 = XEXP (x2, 1);
  operands[1] = x4;
  x5 = XEXP (x1, 1);
  operands[2] = x5;
  switch (GET_MODE (x1))
    {
    case E_SImode:
      if (GET_MODE (x2) != E_SImode
          || !register_operand (operands[0], E_SImode)
          || !aarch64_shift_imm_si (operands[1], E_QImode)
          || !register_operand (operands[2], E_SImode))
        return -1;
      return 0;

    case E_DImode:
      if (GET_MODE (x2) != E_DImode
          || !register_operand (operands[0], E_DImode)
          || !aarch64_shift_imm_di (operands[1], E_QImode)
          || !register_operand (operands[2], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern509 (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
      || !aarch64_reg_or_zero (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !aarch64_borrow_operation (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern510 (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
      || !aarch64_reg_or_zero (operands[1], i1)
      || !aarch64_borrow_operation (operands[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern511 (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)
      || !aarch64_sve_cnt_immediate (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern512 (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)
      || !aarch64_sve_arith_immediate (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern513 (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)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern514 (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[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V16QImode:
      if (!register_operand (operands[2], E_V16QImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern515 (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)
      || !immediate_operand (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern516 (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)
      || !const_int_operand (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern517 (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[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern518 (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], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[3], i3)
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern519 (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)
      || !aarch64_simd_lshift_imm (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern520 (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)
      || !aarch64_simd_rshift_imm (operands[3], 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
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

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
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

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
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !aarch64_simd_rshift_imm (operands[3], i1))
    return -1;
  return 0;
}

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
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern525 (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], i2)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern526 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      x2 = XEXP (x1, 0);
      operands[3] = x2;
      x3 = XEXP (x1, 1);
      operands[5] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_V2SFmode:
          return 0;

        case E_V4SFmode:
          return 1;

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x2 = XEXP (x1, 0);
      if (GET_CODE (x2) != VEC_SELECT
          || GET_MODE (x2) != E_HFmode)
        return -1;
      x4 = XEXP (x2, 1);
      if (GET_CODE (x4) != PARALLEL
          || XVECLEN (x4, 0) != 1)
        return -1;
      x5 = XEXP (x2, 0);
      operands[3] = x5;
      x6 = XVECEXP (x4, 0, 0);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V2SFmode:
          return 2;

        case E_V4SFmode:
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern527 (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
pattern528 (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], E_DImode))
    return -1;
  return 0;
}

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

static int
pattern530 (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 E_QImode:
      return pattern529 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern529 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern529 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern529 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

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

static int
pattern532 (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 E_QImode:
      return pattern531 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern531 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern531 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern531 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern533 (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
      || !immediate_operand (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern534 (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)
      || !immediate_operand (operands[2], E_SImode))
    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;
  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)
      || !const_int_operand (operands[2], E_SImode))
    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];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3
      || pattern49 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern537 (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
      || !memory_operand (operands[1], i1)
      || !memory_operand (operands[2], i1))
    return -1;
  return 0;
}

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

static int
pattern539 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SIGN_EXTEND)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case VEC_SELECT:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != PARALLEL
          || XVECLEN (x3, 0) != 1)
        return -1;
      return 0;

    case REG:
    case SUBREG:
      operands[2] = x2;
      return 1;

    default:
      return -1;
    }
}

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

static int
pattern541 (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);
  operands[5] = x3;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != AND
      || GET_MODE (x4) != E_SImode)
    return -1;
  x5 = XEXP (x4, 0);
  operands[3] = x5;
  if (!register_operand (operands[3], E_SImode))
    return -1;
  x6 = XEXP (x4, 1);
  operands[4] = x6;
  if (!const_int_operand (operands[4], E_VOIDmode))
    return -1;
  return pattern1 (x1); /* [-1, 1] */
}

static int
pattern542 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[2], i1)
      || !aarch64_simd_imm_zero (operands[3], i1)
      || !aarch64_simd_imm_one (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern543 (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);
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 119)
    return -1;
  x4 = XVECEXP (x3, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x5 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x5) != EQ)
    return -1;
  x6 = XVECEXP (x3, 0, 0);
  operands[5] = x6;
  x7 = XEXP (x5, 0);
  operands[2] = x7;
  x8 = XEXP (x5, 1);
  operands[3] = x8;
  x9 = XVECEXP (x2, 0, 1);
  operands[4] = x9;
  x10 = XVECEXP (x2, 0, 2);
  if (!rtx_equal_p (x10, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern542 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern542 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern542 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern542 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern542 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern542 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern542 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern542 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern542 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern542 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern544 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i2)
      || !aarch64_simd_reg_or_zero (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern545 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !aarch64_simd_reg_or_zero (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_VNx8HFmode:
      if (!register_operand (operands[2], E_VNx8HFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern546 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      return pattern544 (x1, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SImode:
      res = pattern545 (x1, E_VNx4SImode, E_VNx4BImode);
      if (res >= 0)
        return res + 1; /* [1, 2] */
      return -1;

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx2DImode
          || !aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8HFmode:
          if (!register_operand (operands[2], E_VNx8HFmode))
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern547 (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, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x1, 0, 2);
  operands[3] = x6;
  return pattern546 (x1); /* [-1, 5] */
}

static int
pattern548 (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 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i3
      || !aarch64_simd_reg_or_zero (operands[3], i3))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode)
          || !register_operand (operands[2], i1))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern549 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x1) != E_VNx8HFmode)
        return -1;
      x2 = XVECEXP (x1, 0, 1);
      if (GET_MODE (x2) != E_VNx8HFmode
          || !aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_VNx8BImode:
          if (!register_operand (operands[1], E_VNx8BImode)
              || !register_operand (operands[2], E_VNx8HImode))
            return -1;
          return 0;

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

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

        default:
          return -1;
        }

    case E_VNx4SFmode:
      res = pattern548 (x1, E_VNx4SImode, E_VNx2DImode, E_VNx4SFmode);
      if (res >= 0)
        return res + 3; /* [3, 4] */
      return -1;

    case E_VNx2DFmode:
      if (pattern544 (x1, E_VNx2DFmode, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern550 (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, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x1, 0, 2);
  operands[3] = x6;
  return pattern549 (x1); /* [-1, 5] */
}

static int
pattern551 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern552 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i2)
      || !aarch64_simd_imm_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern553 (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, 1);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 2);
  operands[3] = x4;
  x5 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      if (!rtx_equal_p (x5, operands[2]))
        return -1;
      x6 = XVECEXP (x2, 0, 0);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          return pattern551 (x1, E_VNx16QImode, E_VNx8HImode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SImode:
          if (pattern551 (x1, E_VNx8HImode, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DImode:
          if (pattern551 (x1, E_VNx4SImode, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      operands[4] = x5;
      x6 = XVECEXP (x2, 0, 0);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern552 (x1, E_VNx8HImode, E_VNx16QImode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SImode:
          if (pattern552 (x1, E_VNx4SImode, E_VNx8HImode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DImode:
          if (pattern552 (x1, E_VNx2DImode, E_VNx4SImode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern554 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_rshift_imm (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern555 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_lshift_imm (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern556 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern557 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_imm_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern558 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
      if (!rtx_equal_p (x2, operands[2]))
        return -1;
      x3 = XVECEXP (x1, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern556 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8HImode:
          if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4SImode:
          if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      operands[4] = x2;
      x3 = XVECEXP (x1, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern557 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 4;

        case E_VNx8HImode:
          if (pattern557 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern557 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 6;

        case E_VNx2DImode:
          if (pattern557 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern559 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern560 (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 = XVECEXP (x2, 0, 1);
  if (GET_CODE (x3) != UNSPEC)
    return -1;
  switch (XVECLEN (x3, 0))
    {
    case 2:
      x4 = XVECEXP (x3, 0, 0);
      operands[2] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[3] = x5;
      switch (XINT (x3, 1))
        {
        case 393:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              return pattern554 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

            case E_VNx8QImode:
              if (pattern554 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 1;

            case E_VNx4QImode:
              if (pattern554 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 2;

            case E_VNx2QImode:
              if (pattern554 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 3;

            case E_VNx8HImode:
              if (pattern554 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 4;

            case E_VNx4HImode:
              if (pattern554 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 5;

            case E_VNx2HImode:
              if (pattern554 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 6;

            case E_VNx4SImode:
              if (pattern554 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 7;

            case E_VNx2SImode:
              if (pattern554 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 8;

            case E_VNx2DImode:
              if (pattern554 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 9;

            default:
              return -1;
            }

        case 204:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern555 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 10;

            case E_VNx8QImode:
              if (pattern555 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 11;

            case E_VNx4QImode:
              if (pattern555 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 12;

            case E_VNx2QImode:
              if (pattern555 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 13;

            case E_VNx8HImode:
              if (pattern555 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 14;

            case E_VNx4HImode:
              if (pattern555 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 15;

            case E_VNx2HImode:
              if (pattern555 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 16;

            case E_VNx4SImode:
              if (pattern555 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 17;

            case E_VNx2SImode:
              if (pattern555 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 18;

            case E_VNx2DImode:
              if (pattern555 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 19;

            default:
              return -1;
            }

        case 202:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern554 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 20;

            case E_VNx8QImode:
              if (pattern554 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 21;

            case E_VNx4QImode:
              if (pattern554 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 22;

            case E_VNx2QImode:
              if (pattern554 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 23;

            case E_VNx8HImode:
              if (pattern554 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 24;

            case E_VNx4HImode:
              if (pattern554 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 25;

            case E_VNx2HImode:
              if (pattern554 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 26;

            case E_VNx4SImode:
              if (pattern554 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 27;

            case E_VNx2SImode:
              if (pattern554 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 28;

            case E_VNx2DImode:
              if (pattern554 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 29;

            default:
              return -1;
            }

        case 203:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern554 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 30;

            case E_VNx8QImode:
              if (pattern554 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 31;

            case E_VNx4QImode:
              if (pattern554 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 32;

            case E_VNx2QImode:
              if (pattern554 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 33;

            case E_VNx8HImode:
              if (pattern554 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 34;

            case E_VNx4HImode:
              if (pattern554 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 35;

            case E_VNx2HImode:
              if (pattern554 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 36;

            case E_VNx4SImode:
              if (pattern554 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 37;

            case E_VNx2SImode:
              if (pattern554 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 38;

            case E_VNx2DImode:
              if (pattern554 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 39;

            default:
              return -1;
            }

        case 181:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 40;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 41;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 42;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 43;

            default:
              return -1;
            }

        case 185:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 44;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 45;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 46;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 47;

            default:
              return -1;
            }

        case 217:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 48;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 49;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 50;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 51;

            default:
              return -1;
            }

        case 183:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 52;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 53;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 54;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 55;

            default:
              return -1;
            }

        case 215:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 56;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 57;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 58;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 59;

            default:
              return -1;
            }

        case 196:
          res = pattern558 (x1);
          if (res >= 0)
            return res + 60; /* [60, 67] */
          return -1;

        case 182:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 68;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 69;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 70;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 71;

            default:
              return -1;
            }

        case 186:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 72;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 73;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 74;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 75;

            default:
              return -1;
            }

        case 218:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 76;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 77;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 78;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 79;

            default:
              return -1;
            }

        case 184:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 80;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 81;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 82;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 83;

            default:
              return -1;
            }

        case 216:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern556 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 84;

            case E_VNx8HImode:
              if (pattern556 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 85;

            case E_VNx4SImode:
              if (pattern556 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 86;

            case E_VNx2DImode:
              if (pattern556 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 87;

            default:
              return -1;
            }

        case 195:
          res = pattern558 (x1);
          if (res >= 0)
            return res + 88; /* [88, 95] */
          return -1;

        case 205:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern559 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 96;

            case E_VNx8HImode:
              if (pattern559 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 97;

            case E_VNx4SImode:
              if (pattern559 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 98;

            case E_VNx2DImode:
              if (pattern559 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 99;

            default:
              return -1;
            }

        case 206:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern559 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 100;

            case E_VNx8HImode:
              if (pattern559 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 101;

            case E_VNx4SImode:
              if (pattern559 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 102;

            case E_VNx2DImode:
              if (pattern559 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 103;

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 1:
      if (!register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x1) != E_VNx4SImode
          || !register_operand (operands[1], E_VNx4BImode)
          || GET_MODE (x2) != E_VNx4SImode)
        return -1;
      x6 = XVECEXP (x2, 0, 0);
      operands[4] = x6;
      if (GET_MODE (x3) != E_VNx4SImode)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[2] = x4;
      if (!register_operand (operands[2], E_VNx4SImode))
        return -1;
      x7 = XVECEXP (x1, 0, 2);
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode))
        return -1;
      switch (XINT (x3, 1))
        {
        case 22:
          return 104;

        case 104:
          return 105;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern561 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_general_reg (operands[0], i1)
      || !aarch64_plus_immediate (operands[2], i1)
      || GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != COMPARE
      || GET_MODE (x2) != E_CCmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 66
      || GET_MODE (x3) != E_CCmode)
    return -1;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  if (!const_int_operand (operands[3], i1))
    return -1;
  x5 = XEXP (x2, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  return 0;
}

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

static int
pattern563 (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 (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3
      || !register_operand (operands[4], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern564 (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], 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
      || !register_operand (operands[2], i2))
    return -1;
  x5 = XEXP (x2, 1);
  return pattern563 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern565 (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, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != VEC_SELECT)
    return -1;
  x5 = XEXP (x4, 0);
  operands[4] = x5;
  x6 = XEXP (x4, 1);
  if (!rtx_equal_p (x6, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern564 (x1, E_V8HImode, E_V16QImode, E_V8QImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern564 (x1, E_V4SImode, E_V8HImode, E_V4HImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern564 (x1, E_V2DImode, E_V4SImode, E_V2SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern566 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4, machine_mode i5)
{
  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)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i5
      || !register_operand (operands[2], i4)
      || !vect_par_cnst_hi_half (operands[3], i4))
    return -1;
  x5 = XEXP (x2, 1);
  return pattern563 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern567 (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);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          return pattern566 (x1, E_V4SImode, E_HImode, E_SImode, E_V8HImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern566 (x1, E_V2DImode, E_SImode, E_DImode, E_V4SImode, E_V2SImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case VEC_SELECT:
      x6 = XEXP (x5, 1);
      if (GET_CODE (x6) != PARALLEL
          || XVECLEN (x6, 0) != 1)
        return -1;
      x7 = XEXP (x5, 0);
      operands[4] = x7;
      x8 = XVECEXP (x6, 0, 0);
      operands[5] = x8;
      if (!immediate_operand (operands[5], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || GET_MODE (x2) != E_V4SImode)
            return -1;
          x9 = XEXP (x2, 0);
          if (GET_MODE (x9) != E_V4SImode)
            return -1;
          x10 = XEXP (x9, 0);
          if (GET_MODE (x10) != E_V4HImode
              || !register_operand (operands[2], E_V8HImode)
              || !vect_par_cnst_hi_half (operands[3], E_V8HImode)
              || GET_MODE (x3) != E_V4SImode
              || GET_MODE (x4) != E_SImode
              || GET_MODE (x5) != E_HImode
              || !register_operand (operands[1], E_V4SImode))
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_V4HImode:
              if (!register_operand (operands[4], E_V4HImode))
                return -1;
              return 2;

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

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x1) != E_V2DImode
              || GET_MODE (x2) != E_V2DImode)
            return -1;
          x9 = XEXP (x2, 0);
          if (GET_MODE (x9) != E_V2DImode)
            return -1;
          x10 = XEXP (x9, 0);
          if (GET_MODE (x10) != E_V2SImode
              || !register_operand (operands[2], E_V4SImode)
              || !vect_par_cnst_hi_half (operands[3], E_V4SImode)
              || GET_MODE (x3) != E_V2DImode
              || GET_MODE (x4) != E_DImode
              || GET_MODE (x5) != E_SImode
              || !register_operand (operands[1], E_V2DImode))
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_V2SImode:
              if (!register_operand (operands[4], E_V2SImode))
                return -1;
              return 4;

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern568 (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[3], i2)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern569 (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)
      || !aarch64_simd_imm_zero (operands[2], i1)
      || !aarch64_simd_imm_minus_one (operands[3], i1))
    return -1;
  return 0;
}

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

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

    default:
      return -1;
    }
}

static int
pattern571 (rtx x1, machine_mode i1)
{
  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) != i1)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  return pattern570 (x4); /* [-1, 1] */
}

static int
pattern572 (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[2], i1))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (!register_operand (operands[0], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern573 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (!aarch64_imm3 (operands[1], E_VOIDmode))
    return -1;
  switch (GET_MODE (x1))
    {
    case E_SImode:
      return pattern572 (x2, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern572 (x2, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern574 (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);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  operands[1] = x5;
  x6 = XEXP (x1, 1);
  operands[2] = x6;
  switch (GET_MODE (x1))
    {
    case E_SImode:
      if (GET_MODE (x2) != E_SImode
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[0], E_SImode)
          || !aarch64_shift_imm_si (operands[1], E_QImode)
          || !register_operand (operands[2], E_SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern575 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

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

static int
pattern577 (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 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_valid_symref (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern578 (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 (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2))
    return -1;
  return 0;
}

static int
pattern579 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern580 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern579 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern579 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern579 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern581 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 1);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XVECEXP (x2, 0, 2);
  operands[2] = x4;
  switch (XWINT (x3, 0))
    {
    case 0L:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern579 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern579 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern579 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case 1L:
      res = pattern580 (x1);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern582 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    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;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_imm_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern584 (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;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  x5 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      if (!rtx_equal_p (x5, operands[2]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern582 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8HImode:
          if (pattern582 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4SImode:
          if (pattern582 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern582 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern583 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 4;

        case E_VNx8HImode:
          if (pattern583 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern583 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 6;

        case E_VNx2DImode:
          if (pattern583 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern585 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern586 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_imm_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern587 (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;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  if (!register_operand (operands[3], E_VNx2DImode))
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      if (!rtx_equal_p (x5, operands[2]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          return pattern585 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8HImode:
          if (pattern585 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4SImode:
          if (pattern585 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern586 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 3;

        case E_VNx8HImode:
          if (pattern586 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 4;

        case E_VNx4SImode:
          if (pattern586 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern588 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  x4 = XEXP (x2, 1);
  operands[4] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || !register_operand (operands[1], E_VNx16BImode)
          || GET_MODE (x2) != E_VNx16BImode
          || !register_operand (operands[3], E_VNx16QImode)
          || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx16QImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode)
          || GET_MODE (x2) != E_VNx8BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[3], E_VNx8QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[3], E_VNx8HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode)
          || GET_MODE (x2) != E_VNx4BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[3], E_VNx4QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[3], E_VNx4HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[3], E_VNx4SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode)
          || GET_MODE (x2) != E_VNx2BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[3], E_VNx2QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[3], E_VNx2HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[3], E_VNx2SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[3], E_VNx2DImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern589 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  x4 = XEXP (x2, 1);
  operands[4] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || !register_operand (operands[1], E_VNx16BImode)
          || GET_MODE (x2) != E_VNx16BImode
          || !register_operand (operands[3], E_VNx16QImode)
          || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx16QImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode)
          || GET_MODE (x2) != E_VNx8BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[3], E_VNx8QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[3], E_VNx8HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode)
          || GET_MODE (x2) != E_VNx4BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[3], E_VNx4QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[3], E_VNx4HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[3], E_VNx4SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode)
          || GET_MODE (x2) != E_VNx2BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[3], E_VNx2QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[3], E_VNx2HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[3], E_VNx2SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[3], E_VNx2DImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern590 (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], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[2], i3)
      || !register_operand (operands[1], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern591 (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[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern592 (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[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern593 (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)
      || !const_int_operand (operands[3], i1)
      || !aarch64_plus_immediate (operands[4], i1))
    return -1;
  return 0;
}

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

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

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

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

    default:
      return -1;
    }
}

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
      || !aarch64_simd_nonimmediate_operand (operands[1], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern596 (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)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern597 (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
      || !aarch64_simd_or_scalar_imm_zero (operands[3], i2))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern598 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x1) != E_V16QImode
          || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8QImode
          || !register_operand (operands[1], E_V8HImode)
          || !aarch64_simd_shift_imm_vec_qi (operands[2], E_V8HImode))
        return -1;
      return 0;

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x1) != E_V8HImode
          || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HImode
          || !register_operand (operands[1], E_V4SImode)
          || !aarch64_simd_shift_imm_vec_hi (operands[2], E_V4SImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x1) != E_V4SImode
          || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SImode
          || !register_operand (operands[1], E_V2DImode)
          || !aarch64_simd_shift_imm_vec_si (operands[2], E_V2DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

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], i3)
      || GET_MODE (x1) != i3
      || !aarch64_simd_or_scalar_imm_zero (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
pattern600 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x1) != E_V16QImode
          || !register_operand (operands[1], E_V8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8QImode
          || !register_operand (operands[2], E_V8HImode)
          || !aarch64_simd_shift_imm_vec_qi (operands[3], E_V8HImode))
        return -1;
      return 0;

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x1) != E_V8HImode
          || !register_operand (operands[1], E_V4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HImode
          || !register_operand (operands[2], E_V4SImode)
          || !aarch64_simd_shift_imm_vec_hi (operands[3], E_V4SImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x1) != E_V4SImode
          || !register_operand (operands[1], E_V2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SImode
          || !register_operand (operands[2], E_V2DImode)
          || !aarch64_simd_shift_imm_vec_si (operands[3], E_V2DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern601 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern602 (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) != i1
      || !register_operand (operands[1], i2)
      || !aarch64_simd_or_scalar_imm_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern603 (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) != i1
      || !register_operand (operands[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern604 (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 = 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 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != PLUS)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != i1)
    return -1;
  x8 = XEXP (x2, 0);
  if (GET_MODE (x8) != E_CC_NZmode
      || GET_MODE (x3) != E_CC_NZmode)
    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[3], i1)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern606 (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, 0);
  switch (GET_MODE (x4))
    {
    case E_SImode:
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x6, 1);
      return pattern605 (x7, E_SImode); /* [-1, 0] */

    case E_DImode:
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_shift_imm_di (operands[2], E_QImode))
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x6, 1);
      if (pattern605 (x7, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern607 (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);
  x5 = XEXP (x4, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  x6 = XEXP (x4, 1);
  if (!rtx_equal_p (x6, operands[2]))
    return -1;
  x7 = XEXP (x3, 1);
  if (!rtx_equal_p (x7, operands[3]))
    return -1;
  return pattern606 (x1); /* [-1, 1] */
}

static int
pattern608 (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;
  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 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != PLUS)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != i1)
    return -1;
  x8 = XEXP (x2, 0);
  if (GET_MODE (x8) != E_CC_NZmode
      || GET_MODE (x3) != E_CC_NZmode)
    return -1;
  x9 = XEXP (x3, 0);
  x10 = XEXP (x9, 0);
  x11 = XEXP (x10, 0);
  operands[1] = x11;
  x12 = XEXP (x10, 1);
  operands[2] = x12;
  x13 = XEXP (x9, 1);
  operands[3] = x13;
  return pattern607 (x1); /* [-1, 1] */
}

static int
pattern609 (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, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != NEG)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != i1)
    return -1;
  x8 = XEXP (x2, 0);
  if (GET_MODE (x8) != E_CC_NZmode
      || GET_MODE (x3) != E_CC_NZmode)
    return -1;
  x9 = XEXP (x3, 0);
  x10 = XEXP (x9, 0);
  x11 = XEXP (x10, 0);
  operands[1] = x11;
  x12 = XEXP (x10, 1);
  operands[2] = x12;
  x13 = XEXP (x7, 0);
  if (!rtx_equal_p (x13, operands[1]))
    return -1;
  x14 = XEXP (x7, 1);
  if (!rtx_equal_p (x14, operands[2]))
    return -1;
  switch (GET_MODE (x9))
    {
    case E_SImode:
      if (GET_MODE (x10) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode)
          || !register_operand (operands[0], E_SImode)
          || GET_MODE (x6) != E_SImode
          || GET_MODE (x7) != E_SImode)
        return -1;
      return 0;

    case E_DImode:
      if (GET_MODE (x10) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !aarch64_shift_imm_di (operands[2], E_QImode)
          || !register_operand (operands[0], E_DImode)
          || GET_MODE (x6) != E_DImode
          || GET_MODE (x7) != E_DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern610 (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);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || GET_MODE (x2) != E_VNx16BImode
          || GET_MODE (x3) != E_VNx16BImode
          || !register_operand (operands[2], E_VNx16QImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx16QImode)
          || !register_operand (operands[1], E_VNx16BImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || GET_MODE (x2) != E_VNx8BImode
          || GET_MODE (x3) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[2], E_VNx8QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[2], E_VNx8HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || GET_MODE (x2) != E_VNx4BImode
          || GET_MODE (x3) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[2], E_VNx4HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[2], E_VNx4SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || GET_MODE (x2) != E_VNx2BImode
          || GET_MODE (x3) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[2], E_VNx2HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[2], E_VNx2SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern611 (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);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || GET_MODE (x2) != E_VNx16BImode
          || GET_MODE (x3) != E_VNx16BImode
          || !register_operand (operands[2], E_VNx16QImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx16QImode)
          || !register_operand (operands[1], E_VNx16BImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || GET_MODE (x2) != E_VNx8BImode
          || GET_MODE (x3) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[2], E_VNx8QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[2], E_VNx8HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || GET_MODE (x2) != E_VNx4BImode
          || GET_MODE (x3) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[2], E_VNx4HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[2], E_VNx4SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || GET_MODE (x2) != E_VNx2BImode
          || GET_MODE (x3) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[2], E_VNx2HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[2], E_VNx2SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern612 (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);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 66
      || GET_MODE (x3) != E_CC_NZCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 0);
  x7 = XVECEXP (x6, 0, 0);
  operands[4] = x7;
  x8 = XEXP (x5, 1);
  operands[1] = x8;
  x9 = XVECEXP (x6, 0, 2);
  switch (GET_CODE (x9))
    {
    case LT:
      return pattern610 (x5); /* [-1, 9] */

    case LE:
      res = pattern610 (x5);
      if (res >= 0)
        return res + 10; /* [10, 19] */
      return -1;

    case EQ:
      res = pattern610 (x5);
      if (res >= 0)
        return res + 20; /* [20, 29] */
      return -1;

    case NE:
      res = pattern610 (x5);
      if (res >= 0)
        return res + 30; /* [30, 39] */
      return -1;

    case GE:
      res = pattern610 (x5);
      if (res >= 0)
        return res + 40; /* [40, 49] */
      return -1;

    case GT:
      res = pattern610 (x5);
      if (res >= 0)
        return res + 50; /* [50, 59] */
      return -1;

    case LTU:
      res = pattern611 (x5);
      if (res >= 0)
        return res + 60; /* [60, 69] */
      return -1;

    case LEU:
      res = pattern611 (x5);
      if (res >= 0)
        return res + 70; /* [70, 79] */
      return -1;

    case GEU:
      res = pattern611 (x5);
      if (res >= 0)
        return res + 80; /* [80, 89] */
      return -1;

    case GTU:
      res = pattern611 (x5);
      if (res >= 0)
        return res + 90; /* [90, 99] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern613 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_reg_or_zero (operands[1], i1)
      || GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != MINUS
      || GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!aarch64_general_reg (operands[0], i1))
    return -1;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XEXP (x2, 1);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  return 0;
}

static int
pattern614 (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[1], i1)
      || GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PLUS
      || GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!aarch64_general_reg (operands[0], i1))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!aarch64_plus_immediate (operands[2], i1))
    return -1;
  x5 = XEXP (x2, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  return 0;
}

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

    case E_V4HImode:
      if (!register_operand (operands[2], E_V4HImode)
          || !memory_operand (operands[3], E_V4HImode))
        return -1;
      return 1;

    case E_V4HFmode:
      if (!register_operand (operands[2], E_V4HFmode)
          || !memory_operand (operands[3], E_V4HFmode))
        return -1;
      return 2;

    case E_V2SImode:
      if (!register_operand (operands[2], E_V2SImode)
          || !memory_operand (operands[3], E_V2SImode))
        return -1;
      return 3;

    case E_V2SFmode:
      if (!register_operand (operands[2], E_V2SFmode)
          || !memory_operand (operands[3], E_V2SFmode))
        return -1;
      return 4;

    case E_DFmode:
      if (!register_operand (operands[2], E_DFmode)
          || !memory_operand (operands[3], E_DFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern616 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  operands[5] = x1;
  if (!memory_operand (operands[5], i1))
    return -1;
  x2 = PATTERN (peep2_next_insn (3));
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 0);
  operands[6] = x3;
  if (!register_operand (operands[6], i1))
    return -1;
  x4 = XEXP (x2, 1);
  operands[7] = x4;
  if (!memory_operand (operands[7], i1))
    return -1;
  return 0;
}

static int
pattern617 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 4
      || !register_operand (operands[0], i1)
      || !memory_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !memory_operand (operands[3], i1)
      || GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 0);
  operands[4] = x2;
  if (!register_operand (operands[4], i1))
    return -1;
  x3 = XEXP (x1, 1);
  return pattern616 (x3, i1); /* [-1, 0] */
}

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

    case E_V8HImode:
      if (!register_operand (operands[2], E_V8HImode)
          || !memory_operand (operands[3], E_V8HImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!register_operand (operands[2], E_V4SImode)
          || !memory_operand (operands[3], E_V4SImode))
        return -1;
      return 2;

    case E_V2DImode:
      if (!register_operand (operands[2], E_V2DImode)
          || !memory_operand (operands[3], E_V2DImode))
        return -1;
      return 3;

    case E_V8HFmode:
      if (!register_operand (operands[2], E_V8HFmode)
          || !memory_operand (operands[3], E_V8HFmode))
        return -1;
      return 4;

    case E_V8BFmode:
      if (!register_operand (operands[2], E_V8BFmode)
          || !memory_operand (operands[3], E_V8BFmode))
        return -1;
      return 5;

    case E_V4SFmode:
      if (!register_operand (operands[2], E_V4SFmode)
          || !memory_operand (operands[3], E_V4SFmode))
        return -1;
      return 6;

    case E_V2DFmode:
      if (!register_operand (operands[2], E_V2DFmode)
          || !memory_operand (operands[3], E_V2DFmode))
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern619 (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, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], E_SImode))
    return -1;
  x5 = XEXP (x1, 2);
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x5) != E_DImode)
        return -1;
      x6 = XEXP (x5, 0);
      operands[3] = x6;
      if (!register_operand (operands[3], E_SImode))
        return -1;
      return 0;

    case CONST_INT:
      if (XWINT (x5, 0) != 0L)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern620 (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)
      || !const_int_operand (operands[2], i1)
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern621 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x1) != E_SImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !const_int_operand (operands[2], E_SImode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != E_SImode
          || !register_operand (operands[3], E_SImode)
          || !aarch64_simd_shift_imm_si (operands[4], E_SImode))
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x1) != E_DImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !const_int_operand (operands[2], E_DImode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != E_DImode
          || !register_operand (operands[3], E_DImode)
          || !aarch64_simd_shift_imm_di (operands[4], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern622 (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))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern623 (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)
      || !register_operand (operands[2], i1)
      || !aarch64_simd_imm_zero (operands[3], i1)
      || !aarch64_simd_imm_minus_one (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern624 (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], i3)
      || GET_MODE (x1) != i3
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  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[2], i1))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern625 (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);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != VEC_SELECT)
    return -1;
  x5 = XEXP (x4, 0);
  operands[4] = x5;
  x6 = XEXP (x4, 1);
  if (!rtx_equal_p (x6, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V8HImode:
      return pattern624 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

    case E_V4SImode:
      if (pattern624 (x1, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
        return -1;
      return 1;

    case E_V2DImode:
      if (pattern624 (x1, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern626 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4, machine_mode i5)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  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) != i5
      || !register_operand (operands[2], i4)
      || !vect_par_cnst_hi_half (operands[3], i4))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern627 (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, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          return pattern626 (x1, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern626 (x1, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case VEC_SELECT:
      x6 = XEXP (x5, 1);
      if (GET_CODE (x6) != PARALLEL
          || XVECLEN (x6, 0) != 1)
        return -1;
      x7 = XEXP (x5, 0);
      operands[4] = x7;
      x8 = XVECEXP (x6, 0, 0);
      operands[5] = x8;
      if (!immediate_operand (operands[5], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x1) != E_V4SImode
              || !register_operand (operands[1], E_V4SImode)
              || GET_MODE (x2) != E_V4SImode)
            return -1;
          x9 = XEXP (x2, 0);
          if (GET_MODE (x9) != E_V4SImode)
            return -1;
          x10 = XEXP (x9, 0);
          if (GET_MODE (x10) != E_V4HImode
              || !register_operand (operands[2], E_V8HImode)
              || !vect_par_cnst_hi_half (operands[3], E_V8HImode)
              || GET_MODE (x3) != E_V4SImode
              || GET_MODE (x4) != E_SImode
              || GET_MODE (x5) != E_HImode)
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_V4HImode:
              if (!register_operand (operands[4], E_V4HImode))
                return -1;
              return 2;

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

            default:
              return -1;
            }

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x1) != E_V2DImode
              || !register_operand (operands[1], E_V2DImode)
              || GET_MODE (x2) != E_V2DImode)
            return -1;
          x9 = XEXP (x2, 0);
          if (GET_MODE (x9) != E_V2DImode)
            return -1;
          x10 = XEXP (x9, 0);
          if (GET_MODE (x10) != E_V2SImode
              || !register_operand (operands[2], E_V4SImode)
              || !vect_par_cnst_hi_half (operands[3], E_V4SImode)
              || GET_MODE (x3) != E_V2DImode
              || GET_MODE (x4) != E_DImode
              || GET_MODE (x5) != E_SImode)
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_V2SImode:
              if (!register_operand (operands[4], E_V2SImode))
                return -1;
              return 4;

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern628 (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[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[3], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern629 (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
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 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern631 (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)
      || !aarch64_sve_ldff1_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern632 (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)
      || !aarch64_sve_ldnf1_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern633 (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[3], i2)
      || !aarch64_sve_reg_or_dup_imm (operands[1], i1)
      || !aarch64_simd_reg_or_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern634 (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[3], i1))
    return -1;
  return 0;
}

static int
pattern635 (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], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i3)
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern636 (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[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern637 (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);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || GET_MODE (x2) != E_VNx16BImode
          || GET_MODE (x3) != E_VNx16BImode
          || !register_operand (operands[2], E_VNx16QImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx16QImode)
          || !register_operand (operands[1], E_VNx16BImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || GET_MODE (x2) != E_VNx8BImode
          || GET_MODE (x3) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[2], E_VNx8QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[2], E_VNx8HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || GET_MODE (x2) != E_VNx4BImode
          || GET_MODE (x3) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[2], E_VNx4HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[2], E_VNx4SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || GET_MODE (x2) != E_VNx2BImode
          || GET_MODE (x3) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[2], E_VNx2HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[2], E_VNx2SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern638 (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);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || GET_MODE (x2) != E_VNx16BImode
          || GET_MODE (x3) != E_VNx16BImode
          || !register_operand (operands[2], E_VNx16QImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx16QImode)
          || !register_operand (operands[1], E_VNx16BImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || GET_MODE (x2) != E_VNx8BImode
          || GET_MODE (x3) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[2], E_VNx8QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[2], E_VNx8HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || GET_MODE (x2) != E_VNx4BImode
          || GET_MODE (x3) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[2], E_VNx4HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[2], E_VNx4SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || GET_MODE (x2) != E_VNx2BImode
          || GET_MODE (x3) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[2], E_VNx2HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[2], E_VNx2SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern639 (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
      || !aarch64_simd_or_scalar_imm_zero (operands[3], i2))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern640 (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, 1);
  return pattern399 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern641 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SIGN_EXTEND)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case VEC_SELECT:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != PARALLEL
          || XVECLEN (x3, 0) != 1)
        return -1;
      return 0;

    case REG:
    case SUBREG:
      operands[3] = x2;
      return 1;

    default:
      return -1;
    }
}

static int
pattern642 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SIGN_EXTEND)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case VEC_SELECT:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != PARALLEL
          || XVECLEN (x3, 0) != 1)
        return -1;
      return 0;

    case REG:
    case SUBREG:
      operands[3] = x2;
      return 1;

    default:
      return -1;
    }
}

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

    case E_SFmode:
      if (!register_operand (operands[2], E_SFmode)
          || !memory_operand (operands[3], E_SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

    case E_V4HImode:
      if (!register_operand (operands[2], E_V4HImode)
          || !memory_operand (operands[3], E_V4HImode))
        return -1;
      return 1;

    case E_V4HFmode:
      if (!register_operand (operands[2], E_V4HFmode)
          || !memory_operand (operands[3], E_V4HFmode))
        return -1;
      return 2;

    case E_V2SImode:
      if (!register_operand (operands[2], E_V2SImode)
          || !memory_operand (operands[3], E_V2SImode))
        return -1;
      return 3;

    case E_V2SFmode:
      if (!register_operand (operands[2], E_V2SFmode)
          || !memory_operand (operands[3], E_V2SFmode))
        return -1;
      return 4;

    case E_DFmode:
      if (!register_operand (operands[2], E_DFmode)
          || !memory_operand (operands[3], E_DFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

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

    case E_V8HImode:
      if (!register_operand (operands[2], E_V8HImode)
          || !memory_operand (operands[3], E_V8HImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!register_operand (operands[2], E_V4SImode)
          || !memory_operand (operands[3], E_V4SImode))
        return -1;
      return 2;

    case E_V2DImode:
      if (!register_operand (operands[2], E_V2DImode)
          || !memory_operand (operands[3], E_V2DImode))
        return -1;
      return 3;

    case E_V8HFmode:
      if (!register_operand (operands[2], E_V8HFmode)
          || !memory_operand (operands[3], E_V8HFmode))
        return -1;
      return 4;

    case E_V8BFmode:
      if (!register_operand (operands[2], E_V8BFmode)
          || !memory_operand (operands[3], E_V8BFmode))
        return -1;
      return 5;

    case E_V4SFmode:
      if (!register_operand (operands[2], E_V4SFmode)
          || !memory_operand (operands[3], E_V4SFmode))
        return -1;
      return 6;

    case E_V2DFmode:
      if (!register_operand (operands[2], E_V2DFmode)
          || !memory_operand (operands[3], E_V2DFmode))
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern646 (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);
  x6 = XEXP (x5, 1);
  x7 = XVECEXP (x6, 0, 2);
  operands[3] = x7;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  return pattern179 (x1); /* [-1, 3] */
}

static int
pattern647 (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)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i2)
      || !aarch64_simd_reg_or_zero (operands[3], i2)
      || !register_operand (operands[4], i1)
      || !scratch_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern648 (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) != i1)
    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[2], i2)
      || !aarch64_simd_reg_or_zero (operands[3], i2))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[4], i1)
      || !scratch_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern649 (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);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[4] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          return pattern647 (x1, E_VNx8BImode, E_VNx8HFmode); /* [-1, 0] */

        case E_VNx4BImode:
          if (pattern647 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 1;

        case E_VNx2BImode:
          if (pattern647 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case NOT:
      x4 = XEXP (x3, 0);
      operands[4] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern648 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 3;

        case E_VNx4BImode:
          if (pattern648 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 4;

        case E_VNx2BImode:
          if (pattern648 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern650 (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);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  x8 = XVECEXP (x6, 0, 2);
  operands[2] = x8;
  x9 = XVECEXP (x6, 0, 3);
  operands[3] = x9;
  x10 = XVECEXP (x1, 0, 1);
  x11 = XEXP (x10, 0);
  operands[5] = x11;
  x12 = XEXP (x3, 1);
  if (!rtx_equal_p (x12, operands[1]))
    return -1;
  switch (XINT (x6, 1))
    {
    case 337:
      return pattern649 (x3); /* [-1, 5] */

    case 338:
      res = pattern649 (x3);
      if (res >= 0)
        return res + 6; /* [6, 11] */
      return -1;

    case 339:
      res = pattern649 (x3);
      if (res >= 0)
        return res + 12; /* [12, 17] */
      return -1;

    case 344:
      res = pattern649 (x3);
      if (res >= 0)
        return res + 18; /* [18, 23] */
      return -1;

    case 345:
      res = pattern649 (x3);
      if (res >= 0)
        return res + 24; /* [24, 29] */
      return -1;

    case 346:
      res = pattern649 (x3);
      if (res >= 0)
        return res + 30; /* [30, 35] */
      return -1;

    case 347:
      res = pattern649 (x3);
      if (res >= 0)
        return res + 36; /* [36, 41] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern651 (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, 0);
  x4 = XEXP (x3, 0);
  if (XVECLEN (x4, 0) != 1
      || XINT (x4, 1) != 86)
    return -1;
  x5 = XEXP (x2, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XEXP (x1, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 0)
    return -1;
  return 0;
}

static int
pattern652 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 1
      || XINT (x4, 1) != 35
      || GET_MODE (x4) != E_DImode)
    return -1;
  return 0;
}

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

        case E_VNx4SFmode:
          if (pattern579 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern579 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 4
          || XINT (x3, 1) != 373)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern654 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      return pattern351 (x1, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern351 (x1, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

    case E_V4HImode:
      if (!memory_operand (operands[2], E_V4HImode)
          || !register_operand (operands[3], E_V4HImode))
        return -1;
      return 1;

    case E_V4HFmode:
      if (!memory_operand (operands[2], E_V4HFmode)
          || !register_operand (operands[3], E_V4HFmode))
        return -1;
      return 2;

    case E_V2SImode:
      if (!memory_operand (operands[2], E_V2SImode)
          || !register_operand (operands[3], E_V2SImode))
        return -1;
      return 3;

    case E_V2SFmode:
      if (!memory_operand (operands[2], E_V2SFmode)
          || !register_operand (operands[3], E_V2SFmode))
        return -1;
      return 4;

    case E_DFmode:
      if (!memory_operand (operands[2], E_DFmode)
          || !register_operand (operands[3], E_DFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern656 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  operands[5] = x1;
  if (!aarch64_reg_or_zero (operands[5], i1))
    return -1;
  x2 = PATTERN (peep2_next_insn (3));
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 0);
  operands[6] = x3;
  if (!memory_operand (operands[6], i1))
    return -1;
  x4 = XEXP (x2, 1);
  operands[7] = x4;
  if (!aarch64_reg_or_zero (operands[7], i1))
    return -1;
  return 0;
}

static int
pattern657 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 4
      || !aarch64_reg_or_zero (operands[1], i1)
      || !memory_operand (operands[2], i1)
      || !aarch64_reg_or_zero (operands[3], i1)
      || GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 0);
  operands[4] = x2;
  if (!memory_operand (operands[4], i1))
    return -1;
  x3 = XEXP (x1, 1);
  return pattern656 (x3, i1); /* [-1, 0] */
}

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

    case E_V8HImode:
      if (!memory_operand (operands[2], E_V8HImode)
          || !register_operand (operands[3], E_V8HImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!memory_operand (operands[2], E_V4SImode)
          || !register_operand (operands[3], E_V4SImode))
        return -1;
      return 2;

    case E_V2DImode:
      if (!memory_operand (operands[2], E_V2DImode)
          || !register_operand (operands[3], E_V2DImode))
        return -1;
      return 3;

    case E_V8HFmode:
      if (!memory_operand (operands[2], E_V8HFmode)
          || !register_operand (operands[3], E_V8HFmode))
        return -1;
      return 4;

    case E_V8BFmode:
      if (!memory_operand (operands[2], E_V8BFmode)
          || !register_operand (operands[3], E_V8BFmode))
        return -1;
      return 5;

    case E_V4SFmode:
      if (!memory_operand (operands[2], E_V4SFmode)
          || !register_operand (operands[3], E_V4SFmode))
        return -1;
      return 6;

    case E_V2DFmode:
      if (!memory_operand (operands[2], E_V2DFmode)
          || !register_operand (operands[3], E_V2DFmode))
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern659 (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[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern660 (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[3]))
    {
    case E_QImode:
      if (!register_operand (operands[3], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern661 (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, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 0);
  operands[2] = x5;
  x6 = XEXP (x2, 1);
  operands[3] = x6;
  if (!aarch64_imm3 (operands[3], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_QImode:
      if (!register_operand (operands[2], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

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

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

        default:
          return -1;
        }

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

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

        default:
          return -1;
        }

    case E_V2SFmode:
      if (pattern622 (x1, E_V2SFmode) != 0)
        return -1;
      return 4;

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x1) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SFmode
          || !register_operand (operands[2], E_V4SFmode))
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_V4SFmode:
          if (!register_operand (operands[3], E_V4SFmode))
            return -1;
          return 5;

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

        default:
          return -1;
        }

    case E_V2DFmode:
      if (pattern622 (x1, E_V2DFmode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern663 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_V4SFmode
      || !register_operand (operands[0], E_V4SFmode)
      || GET_MODE (x1) != E_V4SFmode
      || !register_operand (operands[1], E_V4SFmode)
      || !register_operand (operands[2], E_V8BFmode))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V4BFmode:
      if (!register_operand (operands[3], E_V4BFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

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
      || !register_operand (operands[1], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern665 (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], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern666 (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[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V4BFmode:
      if (!register_operand (operands[3], E_V4BFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern667 (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) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x4, 0, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern668 (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 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 0);
  x5 = XVECEXP (x4, 0, 1);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  x7 = XEXP (x5, 1);
  operands[3] = x7;
  x8 = XEXP (x3, 0);
  if (!rtx_equal_p (x8, operands[2]))
    return -1;
  x9 = XEXP (x3, 1);
  if (!rtx_equal_p (x9, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern667 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern667 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern667 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern667 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern667 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern667 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern667 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern667 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern667 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern667 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern669 (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) != E_HImode
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V4HImode:
      if (!register_operand (operands[2], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern670 (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) != E_SImode
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V2SImode:
      if (!register_operand (operands[2], E_V2SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern671 (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) != E_HFmode
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V4HFmode:
      if (!register_operand (operands[2], E_V4HFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern672 (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) != E_SFmode
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V2SFmode:
      if (!register_operand (operands[2], E_V2SFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_rshift_imm (operands[3], i1))
    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;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_lshift_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern675 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_reg_or_zero (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern676 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern677 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_lshift_imm (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern678 (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)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern679 (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 (x2, 1);
  if (GET_MODE (x4) != i2
      || !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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != ZERO_EXTRACT
      || GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x5 = XEXP (x2, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XEXP (x3, 0);
  operands[0] = x6;
  x7 = XEXP (x3, 2);
  operands[1] = x7;
  x8 = XEXP (x1, 1);
  x9 = XEXP (x8, 0);
  operands[2] = x9;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || !aarch64_simd_shift_imm_si (operands[1], E_VOIDmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern681 (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, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XEXP (x2, 0);
  operands[0] = x4;
  x5 = XEXP (x1, 1);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (!register_operand (operands[0], E_QImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern682 (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
pattern683 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_mem_pair_operand (operands[0], i1)
      || !aarch64_reg_zero_or_fp_zero (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_SImode:
      if (!memory_operand (operands[2], E_SImode)
          || !aarch64_reg_zero_or_fp_zero (operands[3], E_SImode))
        return -1;
      return 0;

    case E_SFmode:
      if (!memory_operand (operands[2], E_SFmode)
          || !aarch64_reg_zero_or_fp_zero (operands[3], E_SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

    case E_V4HImode:
      if (!memory_operand (operands[2], E_V4HImode)
          || !register_operand (operands[3], E_V4HImode))
        return -1;
      return 1;

    case E_V4HFmode:
      if (!memory_operand (operands[2], E_V4HFmode)
          || !register_operand (operands[3], E_V4HFmode))
        return -1;
      return 2;

    case E_V2SImode:
      if (!memory_operand (operands[2], E_V2SImode)
          || !register_operand (operands[3], E_V2SImode))
        return -1;
      return 3;

    case E_V2SFmode:
      if (!memory_operand (operands[2], E_V2SFmode)
          || !register_operand (operands[3], E_V2SFmode))
        return -1;
      return 4;

    case E_DFmode:
      if (!memory_operand (operands[2], E_DFmode)
          || !register_operand (operands[3], E_DFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern685 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_mem_pair_operand (operands[0], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return pattern684 (); /* [-1, 5] */
}

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

    case E_V8HImode:
      if (!memory_operand (operands[2], E_V8HImode)
          || !register_operand (operands[3], E_V8HImode))
        return -1;
      return 1;

    case E_V4SImode:
      if (!memory_operand (operands[2], E_V4SImode)
          || !register_operand (operands[3], E_V4SImode))
        return -1;
      return 2;

    case E_V2DImode:
      if (!memory_operand (operands[2], E_V2DImode)
          || !register_operand (operands[3], E_V2DImode))
        return -1;
      return 3;

    case E_V8HFmode:
      if (!memory_operand (operands[2], E_V8HFmode)
          || !register_operand (operands[3], E_V8HFmode))
        return -1;
      return 4;

    case E_V8BFmode:
      if (!memory_operand (operands[2], E_V8BFmode)
          || !register_operand (operands[3], E_V8BFmode))
        return -1;
      return 5;

    case E_V4SFmode:
      if (!memory_operand (operands[2], E_V4SFmode)
          || !register_operand (operands[3], E_V4SFmode))
        return -1;
      return 6;

    case E_V2DFmode:
      if (!memory_operand (operands[2], E_V2DFmode)
          || !register_operand (operands[3], E_V2DFmode))
        return -1;
      return 7;

    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;
  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, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x3, 0, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern688 (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, 1);
  operands[2] = x3;
  x4 = XEXP (x1, 1);
  x5 = XVECEXP (x4, 0, 0);
  operands[4] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern687 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern687 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern687 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern687 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern689 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern690 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern691 (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, 1);
  switch (XWINT (x3, 0))
    {
    case 0L:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern689 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case 1L:
      x4 = XVECEXP (x1, 0, 2);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern690 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern690 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern690 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern692 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_float_maxmin_immediate (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern693 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern689 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern692 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern692 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern692 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern694 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_float_maxmin_immediate (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern695 (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, 1);
  switch (XWINT (x3, 0))
    {
    case 0L:
      return pattern693 (x1); /* [-1, 5] */

    case 1L:
      x4 = XVECEXP (x1, 0, 2);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (GET_CODE (operands[3]))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern690 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              return 6;

            case E_VNx4SFmode:
              if (pattern690 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
                return -1;
              return 7;

            case E_VNx2DFmode:
              if (pattern690 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
                return -1;
              return 8;

            default:
              return -1;
            }

        case CONST_VECTOR:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern694 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              return 9;

            case E_VNx4SFmode:
              if (pattern694 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
                return -1;
              return 10;

            case E_VNx2DFmode:
              if (pattern694 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
                return -1;
              return 11;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern696 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_lshift_imm (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern697 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[2], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern698 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[3] = x2;
  x3 = XVECEXP (x1, 0, 2);
  operands[2] = x3;
  switch (GET_MODE (operands[2]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[2], E_VNx16BImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern699 (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
      || !aarch64_reg_zero_or_m1_or_1 (operands[3], i1)
      || !aarch64_reg_zero_or_m1_or_1 (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern700 (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[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern701 (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[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern702 (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))
    return -1;
  return 0;
}

static int
pattern703 (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))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern704 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_SImode)
    return -1;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  if (!aarch64_imm3 (operands[2], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_QImode:
      if (!register_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern705 (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[3], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern706 (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;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[0], i2))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != 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;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[4], 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[1], i1))
    return -1;
  return 0;
}

static int
pattern708 (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[4], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern709 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_simd_reg_or_zero (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern710 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (XWINT (x3, 0))
    {
    case 0L:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern689 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case 1L:
      x4 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x4, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern689 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern711 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (XWINT (x3, 0))
    {
    case 0L:
      return pattern693 (x1); /* [-1, 5] */

    case 1L:
      x4 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x4, operands[1]))
        return -1;
      res = pattern693 (x1);
      if (res >= 0)
        return res + 6; /* [6, 11] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern712 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_uxt_immediate (operands[3], i1))
    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;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern714 (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[3], i1))
    return -1;
  return 0;
}

static int
pattern715 (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
      || !register_operand (operands[1], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern716 (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) != E_SFmode
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern717 (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 (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3
      || !register_operand (operands[3], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern718 (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) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3
      || !register_operand (operands[2], i2))
    return -1;
  x4 = XEXP (x1, 1);
  return pattern717 (x4, i1, i2, i3); /* [-1, 0] */
}

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

static int
pattern720 (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, 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) != i3
      || !register_operand (operands[1], i4))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern721 (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 (GET_CODE (x3) != SIGN_EXTEND)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != PLUS)
    return -1;
  x5 = XEXP (x1, 0);
  if (GET_MODE (x5) != E_CC_Vmode
      || GET_MODE (x2) != E_CC_Vmode)
    return -1;
  return 0;
}

static int
pattern722 (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, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 1);
  operands[2] = x7;
  x8 = XEXP (x4, 1);
  operands[3] = x8;
  x9 = XVECEXP (x1, 0, 1);
  x10 = XEXP (x9, 1);
  switch (GET_CODE (x10))
    {
    case AND:
      x11 = XEXP (x10, 0);
      if (GET_CODE (x11) != i1)
        return -1;
      return pattern607 (x1); /* [-1, 1] */

    case ZERO_EXTEND:
      if (GET_MODE (x10) != E_DImode)
        return -1;
      x11 = XEXP (x10, 0);
      if (GET_CODE (x11) != AND
          || GET_MODE (x11) != E_SImode)
        return -1;
      x12 = XEXP (x11, 0);
      if (GET_CODE (x12) != i1
          || GET_MODE (x12) != E_SImode
          || GET_MODE (x4) != E_SImode
          || GET_MODE (x5) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode)
          || !register_operand (operands[3], E_SImode)
          || !register_operand (operands[0], E_DImode))
        return -1;
      x13 = XEXP (x12, 0);
      if (!rtx_equal_p (x13, operands[1]))
        return -1;
      x14 = XEXP (x12, 1);
      if (!rtx_equal_p (x14, operands[2]))
        return -1;
      x15 = XEXP (x11, 1);
      if (!rtx_equal_p (x15, operands[3]))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern723 (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 = XVECEXP (x3, 0, 3);
  operands[1] = x4;
  if (!aarch64_sve_ptrue_svpattern_immediate (operands[1], E_VNx16BImode))
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != UNSPEC
      || XVECLEN (x5, 0) != 2
      || XINT (x5, 1) != 121
      || GET_MODE (x5) != E_VNx16BImode)
    return -1;
  x6 = XVECEXP (x3, 0, 0);
  operands[2] = x6;
  x7 = XVECEXP (x3, 0, 1);
  operands[3] = x7;
  x8 = XVECEXP (x5, 0, 0);
  operands[4] = x8;
  if (!const_int_operand (operands[4], E_SImode))
    return -1;
  x9 = XVECEXP (x5, 0, 1);
  operands[5] = x9;
  if (!aarch64_simd_imm_zero (operands[5], E_VNx16BImode))
    return -1;
  x10 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x10))
    {
    case SET:
      x11 = XEXP (x10, 0);
      operands[0] = x11;
      if (!register_operand (operands[0], E_VNx16BImode))
        return -1;
      x12 = XEXP (x10, 1);
      if (!rtx_equal_p (x12, operands[1]))
        return -1;
      return 0;

    case CLOBBER:
      x11 = XEXP (x10, 0);
      operands[0] = x11;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern724 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (x1))
    {
    case E_VNx8BImode:
      if (!aarch64_simd_imm_zero (operands[5], E_VNx8BImode))
        return -1;
      return 0;

    case E_VNx4BImode:
      if (!aarch64_simd_imm_zero (operands[5], E_VNx4BImode))
        return -1;
      return 1;

    case E_VNx2BImode:
      if (!aarch64_simd_imm_zero (operands[5], E_VNx2BImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern725 (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);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  if (maybe_ne (SUBREG_BYTE (x4), 0))
    return -1;
  x5 = XEXP (x4, 0);
  if (!aarch64_sve_ptrue_svpattern_immediate (x5, E_VNx16BImode))
    return -1;
  operands[1] = x5;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != UNSPEC
      || XVECLEN (x6, 0) != 2
      || XINT (x6, 1) != 121
      || GET_MODE (x6) != E_VNx16BImode)
    return -1;
  x7 = XVECEXP (x3, 0, 0);
  operands[2] = x7;
  x8 = XVECEXP (x3, 0, 1);
  operands[3] = x8;
  x9 = XVECEXP (x6, 0, 0);
  operands[4] = x9;
  if (!const_int_operand (operands[4], E_SImode))
    return -1;
  x10 = XVECEXP (x6, 0, 1);
  operands[5] = x10;
  x11 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x11))
    {
    case SET:
      x12 = XEXP (x11, 0);
      operands[0] = x12;
      if (!register_operand (operands[0], E_VNx16BImode))
        return -1;
      x13 = XEXP (x11, 1);
      if (!rtx_equal_p (x13, operands[1]))
        return -1;
      return pattern724 (x4); /* [-1, 2] */

    case CLOBBER:
      x12 = XEXP (x11, 0);
      operands[0] = x12;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      res = pattern724 (x4);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern726 (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;
  x2 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x2))
    {
    case SET:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != UNSPEC
          || XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != i1)
        return -1;
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x5 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (!rtx_equal_p (x6, operands[2]))
        return -1;
      x7 = XVECEXP (x1, 0, 0);
      x8 = XEXP (x7, 1);
      x9 = XVECEXP (x8, 0, 3);
      switch (GET_MODE (x9))
        {
        case E_VNx16BImode:
          if (!register_operand (operands[0], E_VNx16BImode)
              || GET_MODE (x3) != E_VNx16BImode)
            return -1;
          return 0;

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

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

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

        default:
          return -1;
        }

    case CLOBBER:
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x7 = XVECEXP (x1, 0, 0);
      x8 = XEXP (x7, 1);
      x9 = XVECEXP (x8, 0, 3);
      switch (GET_MODE (x9))
        {
        case E_VNx16BImode:
          if (!scratch_operand (operands[0], E_VNx16BImode))
            return -1;
          return 4;

        case E_VNx8BImode:
          if (!scratch_operand (operands[0], E_VNx8BImode))
            return -1;
          return 5;

        case E_VNx4BImode:
          if (!scratch_operand (operands[0], E_VNx4BImode))
            return -1;
          return 6;

        case E_VNx2BImode:
          if (!scratch_operand (operands[0], E_VNx2BImode))
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern727 (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 = XVECEXP (x3, 0, 3);
  if (XVECLEN (x4, 0) != 2)
    return -1;
  x5 = XVECEXP (x3, 0, 0);
  operands[3] = x5;
  x6 = XVECEXP (x3, 0, 1);
  operands[4] = x6;
  x7 = XVECEXP (x4, 0, 0);
  operands[1] = x7;
  x8 = XVECEXP (x4, 0, 1);
  operands[2] = x8;
  switch (XINT (x4, 1))
    {
    case 131:
      return pattern726 (x1, 131); /* [-1, 7] */

    case 132:
      res = pattern726 (x1, 132);
      if (res >= 0)
        return res + 8; /* [8, 15] */
      return -1;

    case 133:
      res = pattern726 (x1, 133);
      if (res >= 0)
        return res + 16; /* [16, 23] */
      return -1;

    case 134:
      res = pattern726 (x1, 134);
      if (res >= 0)
        return res + 24; /* [24, 31] */
      return -1;

    case 127:
      res = pattern726 (x1, 127);
      if (res >= 0)
        return res + 32; /* [32, 39] */
      return -1;

    case 128:
      res = pattern726 (x1, 128);
      if (res >= 0)
        return res + 40; /* [40, 47] */
      return -1;

    case 129:
      res = pattern726 (x1, 129);
      if (res >= 0)
        return res + 48; /* [48, 55] */
      return -1;

    case 130:
      res = pattern726 (x1, 130);
      if (res >= 0)
        return res + 56; /* [56, 63] */
      return -1;

    case 135:
      res = pattern726 (x1, 135);
      if (res >= 0)
        return res + 64; /* [64, 71] */
      return -1;

    case 136:
      res = pattern726 (x1, 136);
      if (res >= 0)
        return res + 72; /* [72, 79] */
      return -1;

    default:
      return -1;
    }
}

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern729 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_float_arith_with_sub_immediate (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern730 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern689 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern729 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern729 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern729 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern731 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  operands[4] = x2;
  x3 = XVECEXP (x1, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern690 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern690 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern690 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return 3;

        case E_VNx4SFmode:
          return 4;

        case E_VNx2DFmode:
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern732 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_float_mul_immediate (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern733 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern689 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern732 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern732 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern732 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern734 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !aarch64_sve_float_arith_immediate (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern735 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern689 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern689 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern689 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern734 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern734 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern734 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern736 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], 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], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1)
      || !aarch64_simd_reg_or_zero (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern738 (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, 1);
  switch (XWINT (x3, 0))
    {
    case 0L:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern736 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern736 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern736 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case 1L:
      x4 = XVECEXP (x1, 0, 2);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern737 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern737 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern737 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern739 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1)
      || !aarch64_simd_reg_or_zero (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern740 (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 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  x7 = XEXP (x5, 1);
  operands[1] = x7;
  x8 = XEXP (x4, 1);
  operands[2] = x8;
  x9 = XVECEXP (x1, 0, 1);
  x10 = XEXP (x9, 0);
  operands[3] = x10;
  switch (GET_MODE (x4))
    {
    case E_SImode:
      if (GET_MODE (x5) != E_SImode
          || !register_operand (operands[0], E_SImode)
          || !aarch64_shift_imm_si (operands[1], E_QImode)
          || !aarch64_mov_imm_operand (operands[2], E_SImode))
        return -1;
      return 0;

    case E_DImode:
      if (GET_MODE (x5) != E_DImode
          || !register_operand (operands[0], E_DImode)
          || !aarch64_shift_imm_di (operands[1], E_QImode)
          || !aarch64_mov_imm_operand (operands[2], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern741 (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)
      || !const_int_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern742 (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)
      || !const_int_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern743 (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)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern744 (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[1], E_VNx16QImode))
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], E_VNx16QImode))
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], E_SImode))
    return -1;
  x6 = XEXP (x1, 1);
  operands[4] = x6;
  if (!register_operand (operands[4], E_VNx4SImode))
    return -1;
  return 0;
}

static int
pattern745 (rtx x1, machine_mode i1)
{
  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 = XVECEXP (x3, 0, 1);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XVECEXP (x5, 0, 1);
  if (GET_MODE (x6) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern746 (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);
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x2, 0);
  x6 = XVECEXP (x5, 0, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  x8 = XEXP (x6, 1);
  operands[3] = x8;
  x9 = XEXP (x4, 0);
  if (!rtx_equal_p (x9, operands[2]))
    return -1;
  x10 = XEXP (x4, 1);
  if (!rtx_equal_p (x10, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      return pattern745 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8HImode:
      if (pattern745 (x1, E_VNx8HImode) != 0)
        return -1;
      return 1;

    case E_VNx4SImode:
      if (pattern745 (x1, E_VNx4SImode) != 0)
        return -1;
      return 2;

    case E_VNx2DImode:
      if (pattern745 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern747 (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
      || !register_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[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern748 (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
      || !register_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SFmode)
    return -1;
  return 0;
}

static int
pattern749 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[4] = x3;
  return pattern546 (x1); /* [-1, 5] */
}

static int
pattern750 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  return pattern546 (x1); /* [-1, 5] */
}

static int
pattern751 (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
      || !register_operand (operands[1], E_VNx2BImode))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  operands[4] = x3;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode)
      || !register_operand (operands[2], i1))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  return 0;
}

static int
pattern752 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[4] = x3;
  return pattern549 (x1); /* [-1, 5] */
}

static int
pattern753 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  return pattern549 (x1); /* [-1, 5] */
}

static int
pattern754 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (XWINT (x3, 0))
    {
    case 0L:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          return pattern736 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

        case E_VNx4SFmode:
          if (pattern736 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 1;

        case E_VNx2DFmode:
          if (pattern736 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case 1L:
      x4 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x4, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern736 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

        case E_VNx4SFmode:
          if (pattern736 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
            return -1;
          return 4;

        case E_VNx2DFmode:
          if (pattern736 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern755 (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[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[4], i1))
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern756 (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 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern757 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], E_VNx16BImode)
      || !register_operand (operands[4], E_VNx2DImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      return pattern756 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8BImode:
      if (pattern756 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4BImode:
      if (pattern756 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern758 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2
      || XINT (x1, 1) != 118
      || GET_MODE (x1) != E_VNx2DImode
      || !register_operand (operands[5], E_VNx2BImode))
    return -1;
  return 0;
}

static int
pattern759 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_VNx2DImode
      || !register_operand (operands[5], E_VNx2BImode)
      || !register_operand (operands[1], E_DImode))
    return -1;
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  if (!register_operand (operands[2], E_VNx2DImode))
    return -1;
  x3 = XEXP (x1, 1);
  operands[6] = x3;
  if (!aarch64_sve_uxtw_immediate (operands[6], E_VNx2DImode))
    return -1;
  return 0;
}

static int
pattern760 (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)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i2)
      || !aarch64_simd_reg_or_zero (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern761 (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) != i1)
    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[2], i2)
      || !aarch64_simd_reg_or_zero (operands[3], i2))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern762 (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);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[4] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          return pattern760 (x1, E_VNx8BImode, E_VNx8HFmode); /* [-1, 0] */

        case E_VNx4BImode:
          if (pattern760 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 1;

        case E_VNx2BImode:
          if (pattern760 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case NOT:
      x4 = XEXP (x3, 0);
      operands[4] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern761 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 3;

        case E_VNx4BImode:
          if (pattern761 (x1, E_VNx4BImode, E_VNx4SFmode) != 0)
            return -1;
          return 4;

        case E_VNx2BImode:
          if (pattern761 (x1, E_VNx2BImode, E_VNx2DFmode) != 0)
            return -1;
          return 5;

        default:
          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 (!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;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != E_SFmode
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern764 (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], 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) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i3
      || !register_operand (operands[2], i2))
    return -1;
  x5 = XEXP (x1, 1);
  return pattern717 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern765 (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;
  return 0;
}

static int
pattern766 (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[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern767 (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) != i1)
    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[2], i2))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[3], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern768 (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], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XEXP (x1, 1);
  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
      || !register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern769 (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], 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)
      || !vect_par_cnst_hi_half (operands[3], i1))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern770 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4, machine_mode i5)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  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) != i5
      || !register_operand (operands[1], i4)
      || !vect_par_cnst_hi_half (operands[3], i4))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[2], 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;
  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;
  return 0;
}

static int
pattern772 (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 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  x8 = XEXP (x6, 1);
  operands[2] = x8;
  x9 = XEXP (x4, 1);
  operands[3] = x9;
  x10 = XVECEXP (x1, 0, 1);
  x11 = XEXP (x10, 1);
  switch (GET_CODE (x11))
    {
    case AND:
      x12 = XEXP (x11, 0);
      if (GET_CODE (x12) != NOT)
        return -1;
      x13 = XEXP (x12, 0);
      if (GET_CODE (x13) != i1)
        return -1;
      x14 = XEXP (x13, 0);
      if (!rtx_equal_p (x14, operands[1]))
        return -1;
      x15 = XEXP (x13, 1);
      if (!rtx_equal_p (x15, operands[2]))
        return -1;
      x16 = XEXP (x11, 1);
      if (!rtx_equal_p (x16, operands[3]))
        return -1;
      switch (GET_MODE (x4))
        {
        case E_SImode:
          if (GET_MODE (x5) != E_SImode
              || GET_MODE (x6) != E_SImode
              || !register_operand (operands[1], E_SImode)
              || !aarch64_shift_imm_si (operands[2], E_QImode)
              || !register_operand (operands[3], E_SImode)
              || pattern771 (x11, E_SImode) != 0)
            return -1;
          return 0;

        case E_DImode:
          if (GET_MODE (x5) != E_DImode
              || GET_MODE (x6) != E_DImode
              || !register_operand (operands[1], E_DImode)
              || !aarch64_shift_imm_di (operands[2], E_QImode)
              || !register_operand (operands[3], E_DImode)
              || pattern771 (x11, E_DImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x11) != E_DImode)
        return -1;
      x12 = XEXP (x11, 0);
      if (GET_CODE (x12) != AND
          || GET_MODE (x12) != E_SImode)
        return -1;
      x13 = XEXP (x12, 0);
      if (GET_CODE (x13) != NOT
          || GET_MODE (x13) != E_SImode)
        return -1;
      x14 = XEXP (x13, 0);
      if (GET_CODE (x14) != i1
          || GET_MODE (x14) != E_SImode
          || GET_MODE (x4) != E_SImode
          || GET_MODE (x5) != E_SImode
          || GET_MODE (x6) != E_SImode
          || !register_operand (operands[1], E_SImode)
          || !aarch64_shift_imm_si (operands[2], E_QImode)
          || !register_operand (operands[3], E_SImode)
          || !register_operand (operands[0], E_DImode))
        return -1;
      x17 = XEXP (x14, 0);
      if (!rtx_equal_p (x17, operands[1]))
        return -1;
      x18 = XEXP (x14, 1);
      if (!rtx_equal_p (x18, operands[2]))
        return -1;
      x19 = XEXP (x12, 1);
      if (!rtx_equal_p (x19, operands[3]))
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

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

    case E_DFmode:
      if (!memory_operand (operands[2], E_DFmode)
          || !aarch64_reg_zero_or_fp_zero (operands[3], E_DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

static int
pattern776 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (!rtx_equal_p (x2, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern775 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern775 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern775 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern775 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern777 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      x2 = XEXP (x1, 0);
      if (GET_CODE (x2) != REG
          || REGNO (x2) != 30
          || GET_MODE (x2) != E_DImode)
        return -1;
      return 0;

    case RETURN:
      return 1;

    default:
      return -1;
    }
}

static int
pattern778 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern779 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

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], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[4], i1))
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[5], i1))
    return -1;
  return 0;
}

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

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

static int
pattern783 (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)
      || !aarch64_reg_or_fp_zero (operands[1], i1)
      || !memory_operand (operands[2], i1)
      || !aarch64_reg_or_fp_zero (operands[3], i1))
    return -1;
  operands[5] = x1;
  if (!aarch64_reg_or_fp_zero (operands[5], i1))
    return -1;
  x2 = PATTERN (peep2_next_insn (3));
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 0);
  operands[6] = x3;
  if (!memory_operand (operands[6], i1))
    return -1;
  x4 = XEXP (x2, 1);
  operands[7] = x4;
  if (!aarch64_reg_or_fp_zero (operands[7], i1))
    return -1;
  return 0;
}

static int
pattern784 (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)
      || !const_int_operand (operands[3], i1))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !const_int_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern785 (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
      || !register_operand (operands[4], i1))
    return -1;
  x2 = XEXP (x1, 1);
  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) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern786 (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 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern788 (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 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern789 (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);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern790 (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);
  operands[4] = x2;
  x3 = XVECEXP (x1, 0, 2);
  operands[5] = x3;
  x4 = XVECEXP (x1, 0, 3);
  x5 = XEXP (x4, 1);
  if (!rtx_equal_p (x5, operands[4]))
    return -1;
  x6 = XEXP (x4, 0);
  x7 = XEXP (x6, 0);
  switch (GET_CODE (x7))
    {
    case REG:
    case SUBREG:
      operands[2] = x7;
      x8 = XEXP (x6, 1);
      operands[3] = x8;
      return pattern787 (x4); /* [-1, 3] */

    case NOT:
      x8 = XEXP (x6, 1);
      switch (GET_CODE (x8))
        {
        case REG:
        case SUBREG:
          operands[2] = x8;
          x9 = XEXP (x7, 0);
          operands[3] = x9;
          switch (GET_MODE (x4))
            {
            case E_VNx16BImode:
              if (pattern788 (x6, E_VNx16BImode) != 0)
                return -1;
              return 4;

            case E_VNx8BImode:
              if (pattern788 (x6, E_VNx8BImode) != 0)
                return -1;
              return 5;

            case E_VNx4BImode:
              if (pattern788 (x6, E_VNx4BImode) != 0)
                return -1;
              return 6;

            case E_VNx2BImode:
              if (pattern788 (x6, E_VNx2BImode) != 0)
                return -1;
              return 7;

            default:
              return -1;
            }

        case NOT:
          x9 = XEXP (x7, 0);
          operands[2] = x9;
          x10 = XEXP (x8, 0);
          operands[3] = x10;
          switch (GET_MODE (x4))
            {
            case E_VNx16BImode:
              if (pattern789 (x6, E_VNx16BImode) != 0)
                return -1;
              return 8;

            case E_VNx8BImode:
              if (pattern789 (x6, E_VNx8BImode) != 0)
                return -1;
              return 9;

            case E_VNx4BImode:
              if (pattern789 (x6, E_VNx4BImode) != 0)
                return -1;
              return 10;

            case E_VNx2BImode:
              if (pattern789 (x6, E_VNx2BImode) != 0)
                return -1;
              return 11;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern791 (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 (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3
      || !register_operand (operands[3], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern792 (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, 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)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i4))
    return -1;
  x5 = XEXP (x3, 1);
  return pattern791 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern793 (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, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  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) != i3
      || !register_operand (operands[2], i4))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern794 (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);
  switch (GET_MODE (x4))
    {
    case E_SImode:
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != E_SImode
          || !register_operand (operands[2], E_SImode)
          || !aarch64_shift_imm_si (operands[3], E_QImode)
          || !register_operand (operands[0], E_SImode))
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x6, 1);
      if (GET_MODE (x7) != E_SImode)
        return -1;
      x8 = XEXP (x7, 1);
      if (GET_MODE (x8) != E_SImode)
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != E_DImode
          || !register_operand (operands[2], E_DImode)
          || !aarch64_shift_imm_di (operands[3], E_QImode)
          || !register_operand (operands[0], E_DImode))
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x6, 1);
      if (GET_MODE (x7) != E_DImode)
        return -1;
      x8 = XEXP (x7, 1);
      if (GET_MODE (x8) != E_DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern795 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != MINUS)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  x8 = XEXP (x7, 1);
  x9 = XEXP (x8, 0);
  operands[2] = x9;
  x10 = XEXP (x8, 1);
  operands[3] = x10;
  x11 = XEXP (x3, 0);
  if (!rtx_equal_p (x11, operands[1]))
    return -1;
  x12 = XEXP (x4, 0);
  if (!rtx_equal_p (x12, operands[2]))
    return -1;
  x13 = XEXP (x4, 1);
  if (!rtx_equal_p (x13, operands[3]))
    return -1;
  return pattern794 (x1); /* [-1, 1] */
}

static int
pattern796 (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 (!register_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  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;
  x8 = XEXP (x7, 1);
  if (GET_MODE (x8) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_QImode:
      if (!register_operand (operands[2], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern797 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != MINUS)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  x8 = XEXP (x7, 1);
  x9 = XEXP (x8, 0);
  operands[2] = x9;
  x10 = XEXP (x3, 0);
  if (!rtx_equal_p (x10, operands[1]))
    return -1;
  x11 = XEXP (x4, 0);
  if (!rtx_equal_p (x11, operands[2]))
    return -1;
  switch (GET_MODE (x7))
    {
    case E_SImode:
      return pattern796 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern796 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern798 (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) != E_DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != E_SImode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != E_SImode
      || !register_operand (operands[1], E_SImode))
    return -1;
  return 0;
}

static int
pattern799 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_reg_or_zero (operands[1], i1)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    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
pattern800 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  x4 = XEXP (x2, 1);
  operands[4] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || !register_operand (operands[1], E_VNx16BImode)
          || GET_MODE (x2) != E_VNx16BImode
          || !register_operand (operands[3], E_VNx16QImode)
          || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx16QImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode)
          || GET_MODE (x2) != E_VNx8BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[3], E_VNx8QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[3], E_VNx8HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode)
          || GET_MODE (x2) != E_VNx4BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[3], E_VNx4QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[3], E_VNx4HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[3], E_VNx4SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode)
          || GET_MODE (x2) != E_VNx2BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[3], E_VNx2QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[3], E_VNx2HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[3], E_VNx2SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[3], E_VNx2DImode)
              || !aarch64_sve_cmp_vsc_operand (operands[4], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern801 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  x4 = XEXP (x2, 1);
  operands[4] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x1) != E_VNx16BImode
          || !register_operand (operands[1], E_VNx16BImode)
          || GET_MODE (x2) != E_VNx16BImode
          || !register_operand (operands[3], E_VNx16QImode)
          || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx16QImode))
        return -1;
      return 0;

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x1) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode)
          || GET_MODE (x2) != E_VNx8BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[3], E_VNx8QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[3], E_VNx8HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x1) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode)
          || GET_MODE (x2) != E_VNx4BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[3], E_VNx4QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[3], E_VNx4HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[3], E_VNx4SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x1) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode)
          || GET_MODE (x2) != E_VNx2BImode)
        return -1;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[3], E_VNx2QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[3], E_VNx2HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[3], E_VNx2SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[3], E_VNx2DImode)
              || !aarch64_sve_cmp_vsd_operand (operands[4], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

static int
pattern803 (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)
      || !aarch64_sync_memory_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !aarch64_plus_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern804 (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[2] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern803 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern803 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern803 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern803 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern805 (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)
      || !aarch64_sync_memory_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !aarch64_logical_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern806 (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[2] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern805 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern805 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern805 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern805 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern807 (rtx x1, machine_mode i1)
{
  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))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !aarch64_sync_memory_operand (operands[1], i1)
      || !aarch64_logical_operand (operands[2], i1))
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern808 (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, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  x6 = XEXP (x2, 0);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern807 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern807 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern807 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern807 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

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

static int
pattern810 (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;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[0], i1)
      || !const_scalar_int_operand (operands[1], i2))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !aarch64_plus_immediate (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern811 (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 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[0], i1))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_MODE (x5) != i2)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern812 (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 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[0], i2)
      || !aarch64_plus_operand (operands[1], i2))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern813 (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, 3);
  if (GET_MODE (x2) != E_VNx16BImode)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  operands[4] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16BImode))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  x7 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x7, operands[1]))
    return -1;
  return 0;
}

static int
pattern814 (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, 3);
  if (GET_MODE (x2) != E_VNx16BImode)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  operands[4] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!register_operand (operands[3], E_VNx16BImode))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  x7 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x7, operands[1]))
    return -1;
  return 0;
}

static int
pattern815 (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
      || !register_operand (operands[5], i2)
      || !aarch64_sve_gather_offset_b (operands[1], E_DImode)
      || !register_operand (operands[2], i1)
      || !aarch64_gather_scale_operand_b (operands[4], E_DImode))
    return -1;
  return 0;
}

static int
pattern816 (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], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[5], i3)
      || !aarch64_sve_gather_offset_h (operands[1], E_DImode)
      || !register_operand (operands[2], i2)
      || !aarch64_gather_scale_operand_h (operands[4], E_DImode))
    return -1;
  return 0;
}

static int
pattern817 (machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[5], i2)
      || !aarch64_sve_gather_offset_w (operands[1], E_DImode)
      || !register_operand (operands[2], i1)
      || !aarch64_gather_scale_operand_w (operands[4], E_DImode))
    return -1;
  return 0;
}

static int
pattern818 (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], i1)
      || GET_MODE (x1) != i1
      || pattern817 (i2, i3) != 0)
    return -1;
  return 0;
}

static int
pattern819 (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], E_VNx2BImode)
      || !aarch64_sve_gather_offset_d (operands[1], E_DImode)
      || !register_operand (operands[2], E_VNx2DImode)
      || !aarch64_gather_scale_operand_d (operands[4], E_DImode))
    return -1;
  return 0;
}

static int
pattern820 (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)
      || !aarch64_reg_or_zero (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern821 (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) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i3
      || !register_operand (operands[2], i2)
      || !vect_par_cnst_hi_half (operands[4], i2))
    return -1;
  x6 = XEXP (x3, 1);
  return pattern791 (x6, i1, i2, i3); /* [-1, 0] */
}

static int
pattern822 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4, machine_mode i5)
{
  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) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i5
      || !register_operand (operands[2], i4)
      || !vect_par_cnst_hi_half (operands[4], i4))
    return -1;
  x6 = XEXP (x3, 1);
  return pattern791 (x6, i1, i2, i3); /* [-1, 0] */
}

static int
pattern823 (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], i3)
      || GET_MODE (x1) != i3
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  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) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[2], i1)
      || !vect_par_cnst_hi_half (operands[4], i1))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i3)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern824 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4, machine_mode i5)
{
  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], i3)
      || GET_MODE (x1) != i3
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  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) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i5
      || !register_operand (operands[2], i4)
      || !vect_par_cnst_hi_half (operands[4], i4))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i3)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern825 (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], 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 (x2, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern826 (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) != E_DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != E_SImode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != E_SImode)
    return -1;
  return 0;
}

static int
pattern827 (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 = XVECEXP (x3, 0, 3);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], 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
pattern828 (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);
  switch (GET_CODE (x2))
    {
    case SET:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != AND)
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != i1)
        return -1;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x6 = XEXP (x4, 0);
      if (!rtx_equal_p (x6, operands[2]))
        return -1;
      x7 = XEXP (x4, 1);
      if (!rtx_equal_p (x7, operands[3]))
        return -1;
      x8 = XEXP (x3, 1);
      if (!rtx_equal_p (x8, operands[4]))
        return -1;
      x9 = XVECEXP (x1, 0, 0);
      x10 = XEXP (x9, 1);
      x11 = XVECEXP (x10, 0, 3);
      switch (GET_MODE (x11))
        {
        case E_VNx16BImode:
          return pattern827 (x1, E_VNx16BImode); /* [-1, 0] */

        case E_VNx8BImode:
          if (pattern827 (x1, E_VNx8BImode) != 0)
            return -1;
          return 1;

        case E_VNx4BImode:
          if (pattern827 (x1, E_VNx4BImode) != 0)
            return -1;
          return 2;

        case E_VNx2BImode:
          if (pattern827 (x1, E_VNx2BImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case CLOBBER:
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      x9 = XVECEXP (x1, 0, 0);
      x10 = XEXP (x9, 1);
      x11 = XVECEXP (x10, 0, 3);
      switch (GET_MODE (x11))
        {
        case E_VNx16BImode:
          x12 = XEXP (x11, 0);
          if (GET_MODE (x12) != E_VNx16BImode
              || !register_operand (operands[2], E_VNx16BImode)
              || !register_operand (operands[3], E_VNx16BImode))
            return -1;
          return 4;

        case E_VNx8BImode:
          x12 = XEXP (x11, 0);
          if (GET_MODE (x12) != E_VNx8BImode
              || !register_operand (operands[2], E_VNx8BImode)
              || !register_operand (operands[3], E_VNx8BImode))
            return -1;
          return 5;

        case E_VNx4BImode:
          x12 = XEXP (x11, 0);
          if (GET_MODE (x12) != E_VNx4BImode
              || !register_operand (operands[2], E_VNx4BImode)
              || !register_operand (operands[3], E_VNx4BImode))
            return -1;
          return 6;

        case E_VNx2BImode:
          x12 = XEXP (x11, 0);
          if (GET_MODE (x12) != E_VNx2BImode
              || !register_operand (operands[2], E_VNx2BImode)
              || !register_operand (operands[3], E_VNx2BImode))
            return -1;
          return 7;

        default:
          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, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x7 = XVECEXP (x1, 0, 1);
  x8 = XEXP (x7, 1);
  return pattern771 (x8, i1); /* [-1, 0] */
}

static int
pattern830 (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 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern831 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1
      || !register_operand (operands[2], i1))
    return -1;
  x7 = XEXP (x5, 1);
  if (GET_MODE (x7) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  x9 = XEXP (x8, 1);
  if (GET_MODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_MODE (x10) != i1)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_MODE (x11) != i1)
    return -1;
  x12 = XEXP (x10, 1);
  if (GET_MODE (x12) != i1)
    return -1;
  return 0;
}

static int
pattern832 (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);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern833 (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, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 1);
  operands[4] = x4;
  x5 = XVECEXP (x3, 0, 2);
  operands[5] = x5;
  x6 = XVECEXP (x3, 0, 3);
  x7 = XEXP (x6, 1);
  if (!rtx_equal_p (x7, operands[4]))
    return -1;
  x8 = XEXP (x6, 0);
  x9 = XEXP (x8, 0);
  switch (GET_CODE (x9))
    {
    case REG:
    case SUBREG:
      operands[2] = x9;
      x10 = XEXP (x8, 1);
      operands[3] = x10;
      return pattern828 (x1, i1); /* [-1, 7] */

    case NOT:
      x10 = XEXP (x8, 1);
      switch (GET_CODE (x10))
        {
        case REG:
        case SUBREG:
          operands[2] = x10;
          x11 = XEXP (x9, 0);
          operands[3] = x11;
          x12 = XVECEXP (x1, 0, 1);
          switch (GET_CODE (x12))
            {
            case SET:
              x13 = XEXP (x12, 1);
              if (GET_CODE (x13) != AND)
                return -1;
              x14 = XEXP (x13, 0);
              if (GET_CODE (x14) != i1)
                return -1;
              x15 = XEXP (x14, 0);
              if (GET_CODE (x15) != NOT)
                return -1;
              x16 = XEXP (x12, 0);
              operands[0] = x16;
              x17 = XEXP (x15, 0);
              if (!rtx_equal_p (x17, operands[3]))
                return -1;
              x18 = XEXP (x14, 1);
              if (!rtx_equal_p (x18, operands[2]))
                return -1;
              x19 = XEXP (x13, 1);
              if (!rtx_equal_p (x19, operands[4]))
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx16BImode:
                  if (pattern829 (x1, E_VNx16BImode) != 0)
                    return -1;
                  return 8;

                case E_VNx8BImode:
                  if (pattern829 (x1, E_VNx8BImode) != 0)
                    return -1;
                  return 9;

                case E_VNx4BImode:
                  if (pattern829 (x1, E_VNx4BImode) != 0)
                    return -1;
                  return 10;

                case E_VNx2BImode:
                  if (pattern829 (x1, E_VNx2BImode) != 0)
                    return -1;
                  return 11;

                default:
                  return -1;
                }

            case CLOBBER:
              x16 = XEXP (x12, 0);
              operands[0] = x16;
              if (!scratch_operand (operands[0], E_VNx16BImode))
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx16BImode:
                  if (pattern830 (x8, E_VNx16BImode) != 0)
                    return -1;
                  return 12;

                case E_VNx8BImode:
                  if (pattern830 (x8, E_VNx8BImode) != 0)
                    return -1;
                  return 13;

                case E_VNx4BImode:
                  if (pattern830 (x8, E_VNx4BImode) != 0)
                    return -1;
                  return 14;

                case E_VNx2BImode:
                  if (pattern830 (x8, E_VNx2BImode) != 0)
                    return -1;
                  return 15;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case NOT:
          x11 = XEXP (x9, 0);
          operands[2] = x11;
          x20 = XEXP (x10, 0);
          operands[3] = x20;
          x12 = XVECEXP (x1, 0, 1);
          switch (GET_CODE (x12))
            {
            case SET:
              x13 = XEXP (x12, 1);
              if (GET_CODE (x13) != AND)
                return -1;
              x14 = XEXP (x13, 0);
              if (GET_CODE (x14) != i1)
                return -1;
              x15 = XEXP (x14, 0);
              if (GET_CODE (x15) != NOT)
                return -1;
              x18 = XEXP (x14, 1);
              if (GET_CODE (x18) != NOT)
                return -1;
              x16 = XEXP (x12, 0);
              operands[0] = x16;
              x17 = XEXP (x15, 0);
              if (!rtx_equal_p (x17, operands[2]))
                return -1;
              x21 = XEXP (x18, 0);
              if (!rtx_equal_p (x21, operands[3]))
                return -1;
              x19 = XEXP (x13, 1);
              if (!rtx_equal_p (x19, operands[4]))
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx16BImode:
                  if (pattern831 (x1, E_VNx16BImode) != 0)
                    return -1;
                  return 16;

                case E_VNx8BImode:
                  if (pattern831 (x1, E_VNx8BImode) != 0)
                    return -1;
                  return 17;

                case E_VNx4BImode:
                  if (pattern831 (x1, E_VNx4BImode) != 0)
                    return -1;
                  return 18;

                case E_VNx2BImode:
                  if (pattern831 (x1, E_VNx2BImode) != 0)
                    return -1;
                  return 19;

                default:
                  return -1;
                }

            case CLOBBER:
              x16 = XEXP (x12, 0);
              operands[0] = x16;
              if (!scratch_operand (operands[0], E_VNx16BImode))
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx16BImode:
                  if (pattern832 (x8, E_VNx16BImode) != 0)
                    return -1;
                  return 20;

                case E_VNx8BImode:
                  if (pattern832 (x8, E_VNx8BImode) != 0)
                    return -1;
                  return 21;

                case E_VNx4BImode:
                  if (pattern832 (x8, E_VNx4BImode) != 0)
                    return -1;
                  return 22;

                case E_VNx2BImode:
                  if (pattern832 (x8, E_VNx2BImode) != 0)
                    return -1;
                  return 23;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern834 (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[3], i1))
    return -1;
  return 0;
}

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

static int
pattern836 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i2)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern837 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern838 (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;
  if (peep2_current_count < 4
      || GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != i1
      || GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[4] = x3;
  if (!register_operand (operands[4], E_DImode))
    return -1;
  x4 = XEXP (x2, 0);
  operands[5] = x4;
  if (!memory_operand (operands[5], E_SImode))
    return -1;
  x5 = PATTERN (peep2_next_insn (3));
  if (GET_CODE (x5) != SET)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != i1
      || GET_MODE (x6) != E_DImode)
    return -1;
  x7 = XEXP (x5, 0);
  operands[6] = x7;
  if (!register_operand (operands[6], E_DImode))
    return -1;
  x8 = XEXP (x6, 0);
  operands[7] = x8;
  if (!memory_operand (operands[7], E_SImode))
    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], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[2], i1)
      || !aarch64_simd_imm_zero (operands[3], i1)
      || !aarch64_simd_imm_one (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern840 (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], 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[2], i3))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern841 (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], i1))
    return -1;
  return 0;
}

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

static int
pattern843 (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 E_SImode:
      return pattern842 (x3, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern842 (x3, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern844 (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
      || !register_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;
  switch (GET_MODE (operands[1]))
    {
    case E_QImode:
      if (!register_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern845 (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, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  x6 = XEXP (x3, 1);
  if (!rtx_equal_p (x6, operands[2]))
    return -1;
  x7 = XVECEXP (x1, 0, 0);
  x8 = XEXP (x7, 1);
  x9 = XEXP (x8, 0);
  switch (GET_MODE (x9))
    {
    case E_SImode:
      return pattern844 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern844 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern846 (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 E_QImode:
      if (!register_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern847 (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, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XVECEXP (x3, 0, 3);
  x6 = XVECEXP (x5, 0, 0);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  x7 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x7))
    {
    case SET:
      x8 = XEXP (x7, 1);
      if (GET_CODE (x8) != UNSPEC
          || XVECLEN (x8, 0) != 3
          || XINT (x8, 1) != i1
          || GET_MODE (x8) != E_VNx16BImode)
        return -1;
      x9 = XEXP (x7, 0);
      operands[0] = x9;
      if (!register_operand (operands[0], E_VNx16BImode))
        return -1;
      x10 = XVECEXP (x8, 0, 0);
      if (!rtx_equal_p (x10, operands[1]))
        return -1;
      x11 = XVECEXP (x8, 0, 1);
      if (!rtx_equal_p (x11, operands[2]))
        return -1;
      x12 = XVECEXP (x8, 0, 2);
      if (!rtx_equal_p (x12, operands[3]))
        return -1;
      return 0;

    case CLOBBER:
      x9 = XEXP (x7, 0);
      operands[0] = x9;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern848 (rtx x1, int 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, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  if (GET_MODE (x4) != E_VNx16BImode)
    return -1;
  x5 = XVECEXP (x3, 0, 2);
  operands[4] = x5;
  x6 = XVECEXP (x4, 0, 1);
  operands[2] = x6;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  operands[3] = x7;
  if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16BImode))
    return -1;
  return pattern847 (x1, i1); /* [-1, 1] */
}

static int
pattern849 (rtx x1, int 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, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  if (GET_MODE (x4) != E_VNx16BImode)
    return -1;
  x5 = XVECEXP (x3, 0, 2);
  operands[4] = x5;
  x6 = XVECEXP (x4, 0, 1);
  operands[2] = x6;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  operands[3] = x7;
  if (!register_operand (operands[3], E_VNx16BImode))
    return -1;
  return pattern847 (x1, i1); /* [-1, 1] */
}

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

static int
pattern851 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_float_arith_with_sub_immediate (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern852 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !aarch64_sve_float_mul_immediate (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern853 (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
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1
      || !aarch64_sve_float_arith_immediate (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern854 (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_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_SFmode:
      if (!register_operand (operands[2], E_SFmode)
          || !register_operand (operands[3], E_SFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern855 (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_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_SFmode:
      if (!register_operand (operands[2], E_SFmode)
          || !register_operand (operands[3], E_SFmode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern856 (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, 3);
  x3 = XVECEXP (x2, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XVECEXP (x4, 0, 0);
  operands[5] = x5;
  x6 = XVECEXP (x2, 0, 0);
  operands[6] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8BImode:
      return pattern458 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4BImode:
      if (pattern458 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2BImode:
      if (pattern458 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern857 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!aarch64_sve_gp_strictness (operands[5], E_SImode))
    return -1;
  x2 = XVECEXP (x1, 0, 3);
  x3 = XVECEXP (x2, 0, 1);
  operands[6] = x3;
  if (!aarch64_sve_gp_strictness (operands[6], E_SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XVECEXP (x4, 0, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  x6 = XVECEXP (x2, 0, 0);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8BImode:
      return pattern458 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4BImode:
      if (pattern458 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2BImode:
      if (pattern458 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern858 (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) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[2], i3))
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern859 (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) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[2], i2))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern860 (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], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XEXP (x1, 1);
  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
      || !register_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i2)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern861 (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)
      || !vect_par_cnst_hi_half (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern862 (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, 1);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  x7 = XEXP (x5, 1);
  if (!rtx_equal_p (x7, operands[2]))
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  x9 = XEXP (x8, 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;
  x12 = XEXP (x3, 0);
  switch (GET_MODE (x12))
    {
    case E_DImode:
      return 0;

    case E_TImode:
      return 1;

    default:
      return -1;
    }
}

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

static int
pattern864 (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[1], i1)
      || !aarch64_borrow_operation (operands[2], i2)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !aarch64_borrow_operation (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern865 (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, 0);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XVECEXP (x1, 0, 2);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  if (!aarch64_valid_symref (operands[1], E_VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern866 (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))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern867 (rtx x1, machine_mode i1)
{
  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))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_mem_pair_offset (operands[4], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1
      || !const_int_operand (operands[5], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_SImode:
      return pattern866 (x1, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern866 (x1, E_DImode) != 0)
        return -1;
      return 1;

    case E_SFmode:
      if (pattern866 (x1, E_SFmode) != 0)
        return -1;
      return 2;

    case E_DFmode:
      if (pattern866 (x1, E_DFmode) != 0)
        return -1;
      return 3;

    case E_TImode:
      if (pattern866 (x1, E_TImode) != 0)
        return -1;
      return 4;

    case E_TFmode:
      if (pattern866 (x1, E_TFmode) != 0)
        return -1;
      return 5;

    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, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern869 (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)
      || !aarch64_sync_memory_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !aarch64_plus_operand (operands[2], i1)
      || !scratch_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern870 (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[2] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern869 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern869 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern869 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern869 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

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)
      || !aarch64_sync_memory_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !aarch64_logical_operand (operands[2], i1)
      || !scratch_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern872 (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[2] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      return pattern871 (x1, E_QImode); /* [-1, 0] */

    case E_HImode:
      if (pattern871 (x1, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      if (pattern871 (x1, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      if (pattern871 (x1, E_DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

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)
      || !aarch64_sync_memory_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !aarch64_logical_operand (operands[2], i1)
      || !scratch_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern874 (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, 4);
  x3 = XEXP (x2, 0);
  operands[5] = x3;
  if (!scratch_operand (operands[5], E_SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  x6 = XEXP (x4, 1);
  x7 = XVECEXP (x6, 0, 0);
  switch (GET_CODE (x7))
    {
    case PLUS:
      return pattern870 (x6); /* [-1, 3] */

    case MINUS:
      res = pattern870 (x6);
      if (res >= 0)
        return res + 4; /* [4, 7] */
      return -1;

    case IOR:
      res = pattern872 (x6);
      if (res >= 0)
        return res + 8; /* [8, 11] */
      return -1;

    case XOR:
      res = pattern872 (x6);
      if (res >= 0)
        return res + 12; /* [12, 15] */
      return -1;

    case AND:
      res = pattern872 (x6);
      if (res >= 0)
        return res + 16; /* [16, 19] */
      return -1;

    case NOT:
      x8 = XEXP (x7, 0);
      if (GET_CODE (x8) != AND)
        return -1;
      x9 = XEXP (x8, 1);
      operands[2] = x9;
      x10 = XEXP (x8, 0);
      if (!rtx_equal_p (x10, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_QImode:
          if (pattern873 (x6, E_QImode) != 0)
            return -1;
          return 20;

        case E_HImode:
          if (pattern873 (x6, E_HImode) != 0)
            return -1;
          return 21;

        case E_SImode:
          if (pattern873 (x6, E_SImode) != 0)
            return -1;
          return 22;

        case E_DImode:
          if (pattern873 (x6, E_DImode) != 0)
            return -1;
          return 23;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern875 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_int_operand (operands[3], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[4], i1)
      || !const_int_operand (operands[5], 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, 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)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[2], 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, x4;
  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)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern878 (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) != i2
      || !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
pattern879 (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;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[1], i1)
      || pattern878 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

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

static int
pattern881 (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 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern882 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], E_VNx16BImode)
      || !register_operand (operands[4], E_VNx2DImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      return pattern881 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

    case E_VNx8BImode:
      if (pattern881 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 1;

    case E_VNx4BImode:
      if (pattern881 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern883 (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)
      || !aarch64_sync_memory_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !aarch64_logical_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern884 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (!rtx_equal_p (x2, operands[2]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern868 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern868 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern868 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern885 (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) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[2], i1)
      || !vect_par_cnst_hi_half (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern886 (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
      || !register_operand (operands[1], i3))
    return -1;
  x2 = XEXP (x1, 1);
  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) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[2], i1)
      || !vect_par_cnst_hi_half (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern887 (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;
  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)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x7 = XVECEXP (x1, 0, 1);
  x8 = XEXP (x7, 1);
  if (GET_MODE (x8) != i1)
    return -1;
  x9 = XEXP (x8, 0);
  if (GET_MODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_MODE (x10) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_QImode:
      if (!register_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern888 (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);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != i1)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 1);
  x8 = XEXP (x7, 0);
  x9 = XEXP (x8, 0);
  x10 = XEXP (x9, 0);
  x11 = XEXP (x10, 0);
  operands[1] = x11;
  if (!aarch64_imm3 (operands[2], E_VOIDmode))
    return -1;
  x12 = XEXP (x5, 0);
  if (!rtx_equal_p (x12, operands[1]))
    return -1;
  switch (GET_MODE (x8))
    {
    case E_SImode:
      return pattern887 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern887 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern889 (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[2], i1)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern890 (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 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

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

    case E_HImode:
      x3 = XEXP (x1, 1);
      if (pattern802 (x3, E_HImode) != 0)
        return -1;
      return 1;

    case E_SImode:
      x3 = XEXP (x1, 1);
      if (pattern802 (x3, E_SImode) != 0)
        return -1;
      return 2;

    case E_DImode:
      x3 = XEXP (x1, 1);
      if (pattern802 (x3, E_DImode) != 0)
        return -1;
      return 3;

    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], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !aarch64_simd_reg_or_zero (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern893 (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 (!rtx_equal_p (x3, operands[1]))
    return -1;
  x4 = XVECEXP (x2, 0, 2);
  x5 = XVECEXP (x4, 0, 0);
  if (!rtx_equal_p (x5, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      return pattern892 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern892 (x1, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2DFmode:
      if (pattern892 (x1, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

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

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

    case E_VNx2BFmode:
      if (!register_operand (operands[0], E_VNx2BFmode)
          || GET_MODE (x1) != E_VNx2BFmode
          || !aarch64_gather_scale_operand_h (operands[4], E_DImode))
        return -1;
      return 3;

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

    case E_VNx2SFmode:
      if (!register_operand (operands[0], E_VNx2SFmode)
          || GET_MODE (x1) != E_VNx2SFmode
          || !aarch64_gather_scale_operand_w (operands[4], E_DImode))
        return -1;
      return 5;

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x1) != E_VNx2DImode
          || !aarch64_gather_scale_operand_d (operands[4], E_DImode))
        return -1;
      return 6;

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x1) != E_VNx2DFmode
          || !aarch64_gather_scale_operand_d (operands[4], E_DImode))
        return -1;
      return 7;

    default:
      return -1;
    }
}

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

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

        case TRUNCATE:
          if (GET_MODE (x4) != E_VNx2SImode)
            return -1;
          x5 = XEXP (x4, 0);
          operands[2] = x5;
          if (!register_operand (operands[2], E_VNx2DImode))
            return -1;
          res = pattern894 (x1);
          if (res >= 0)
            return res + 8; /* [8, 15] */
          return -1;

        default:
          return -1;
        }

    case ZERO_EXTEND:
      res = pattern895 (x1);
      if (res >= 0)
        return res + 16; /* [16, 23] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern897 (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, 2);
  x3 = XVECEXP (x2, 0, 1);
  switch (GET_CODE (x3))
    {
    case SIGN_EXTEND:
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[1] = x4;
          if (!register_operand (operands[1], E_VNx2SImode))
            return -1;
          x5 = XVECEXP (x1, 0, 5);
          operands[4] = x5;
          return 0;

        case TRUNCATE:
          if (GET_MODE (x4) != E_VNx2SImode)
            return -1;
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], E_VNx2DImode))
            return -1;
          x5 = XVECEXP (x1, 0, 5);
          switch (GET_CODE (x5))
            {
            case REG:
            case SUBREG:
              operands[4] = x5;
              return 1;

            case TRUNCATE:
              return 2;

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], E_VNx2SImode))
        return -1;
      x5 = XVECEXP (x1, 0, 5);
      operands[4] = x5;
      return 3;

    default:
      return -1;
    }
}

static int
pattern898 (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 (!aarch64_carry_operation (operands[2], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[1], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) != i1
      || !aarch64_carry_operation (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern899 (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;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1
      || !register_operand (operands[0], i1))
    return -1;
  x7 = XVECEXP (x1, 0, 1);
  x8 = XEXP (x7, 1);
  if (GET_MODE (x8) != i1)
    return -1;
  x9 = XEXP (x8, 1);
  if (GET_MODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_MODE (x10) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_QImode:
      if (!register_operand (operands[2], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern900 (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);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != i1)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 1);
  x8 = XEXP (x7, 0);
  x9 = XEXP (x8, 1);
  x10 = XEXP (x9, 0);
  x11 = XEXP (x10, 0);
  operands[2] = x11;
  if (!aarch64_imm3 (operands[3], E_VOIDmode))
    return -1;
  x12 = XEXP (x5, 0);
  if (!rtx_equal_p (x12, operands[2]))
    return -1;
  switch (GET_MODE (x8))
    {
    case E_SImode:
      return pattern899 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern899 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern901 (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
      || !register_operand (operands[1], i1)
      || !register_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
pattern902 (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 (!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)
      || !aarch64_mem_pair_offset (operands[4], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XVECEXP (x1, 0, 2);
  x8 = XEXP (x7, 0);
  x9 = XEXP (x8, 0);
  if (GET_MODE (x9) != i1
      || !const_int_operand (operands[5], i1))
    return -1;
  switch (GET_MODE (x5))
    {
    case E_SImode:
      if (!register_operand (operands[2], E_SImode)
          || GET_MODE (x8) != E_SImode
          || !register_operand (operands[3], E_SImode))
        return -1;
      return 0;

    case E_DImode:
      if (!register_operand (operands[2], E_DImode)
          || GET_MODE (x8) != E_DImode
          || !register_operand (operands[3], E_DImode))
        return -1;
      return 1;

    case E_SFmode:
      if (!register_operand (operands[2], E_SFmode)
          || GET_MODE (x8) != E_SFmode
          || !register_operand (operands[3], E_SFmode))
        return -1;
      return 2;

    case E_DFmode:
      if (!register_operand (operands[2], E_DFmode)
          || GET_MODE (x8) != E_DFmode
          || !register_operand (operands[3], E_DFmode))
        return -1;
      return 3;

    case E_TImode:
      if (!register_operand (operands[2], E_TImode)
          || GET_MODE (x8) != E_TImode
          || !register_operand (operands[3], E_TImode))
        return -1;
      return 4;

    case E_TFmode:
      if (!register_operand (operands[2], E_TFmode)
          || GET_MODE (x8) != E_TFmode
          || !register_operand (operands[3], E_TFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

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

    case E_VNx8BImode:
      if (GET_MODE (x2) != E_VNx8BImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[2], E_VNx8QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[2], E_VNx8HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (GET_MODE (x2) != E_VNx4BImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[2], E_VNx4HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[2], E_VNx4SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (GET_MODE (x2) != E_VNx2BImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[2], E_VNx2HImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[2], E_VNx2SImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

    case E_VNx8BImode:
      if (GET_MODE (x2) != E_VNx8BImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[2], E_VNx8QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8QImode))
            return -1;
          return 1;

        case E_VNx8HImode:
          if (!register_operand (operands[2], E_VNx8HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case E_VNx4BImode:
      if (GET_MODE (x2) != E_VNx4BImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx4QImode:
          if (!register_operand (operands[2], E_VNx4QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4QImode))
            return -1;
          return 3;

        case E_VNx4HImode:
          if (!register_operand (operands[2], E_VNx4HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4HImode))
            return -1;
          return 4;

        case E_VNx4SImode:
          if (!register_operand (operands[2], E_VNx4SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case E_VNx2BImode:
      if (GET_MODE (x2) != E_VNx2BImode)
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_VNx2QImode:
          if (!register_operand (operands[2], E_VNx2QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2QImode))
            return -1;
          return 6;

        case E_VNx2HImode:
          if (!register_operand (operands[2], E_VNx2HImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2HImode))
            return -1;
          return 7;

        case E_VNx2SImode:
          if (!register_operand (operands[2], E_VNx2SImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2SImode))
            return -1;
          return 8;

        case E_VNx2DImode:
          if (!register_operand (operands[2], E_VNx2DImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2DImode))
            return -1;
          return 9;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

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

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

    default:
      return -1;
    }
}

static int
pattern906 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_V4SImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_HImode)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V4HImode:
      if (!register_operand (operands[2], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern907 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_V2DImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case E_V2SImode:
      if (!register_operand (operands[2], E_V2SImode))
        return -1;
      return 0;

    case E_V4SImode:
      if (!register_operand (operands[2], E_V4SImode))
        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, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[1], i1)
      || !aarch64_borrow_operation (operands[2], i2)
      || !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
      || !aarch64_borrow_operation (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern909 (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;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1))
    return -1;
  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) != i2
      || !register_operand (operands[2], i1)
      || !aarch64_borrow_operation (operands[3], i2)
      || !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
      || !aarch64_borrow_operation (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern910 (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 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  operands[6] = x5;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case SET:
      x7 = XEXP (x6, 1);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 3
          || XINT (x7, 1) != 290)
        return -1;
      x8 = XEXP (x6, 0);
      operands[0] = x8;
      x9 = XVECEXP (x7, 0, 0);
      if (!rtx_equal_p (x9, operands[4]))
        return -1;
      x10 = XVECEXP (x7, 0, 1);
      if (!rtx_equal_p (x10, operands[5]))
        return -1;
      x11 = XVECEXP (x7, 0, 2);
      if (!rtx_equal_p (x11, operands[6]))
        return -1;
      switch (GET_MODE (x4))
        {
        case E_VNx16BImode:
          if (!register_operand (operands[6], E_VNx16BImode)
              || !register_operand (operands[0], E_VNx16BImode)
              || GET_MODE (x7) != E_VNx16BImode)
            return -1;
          return 0;

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

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

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

        default:
          return -1;
        }

    case CLOBBER:
      x8 = XEXP (x6, 0);
      operands[0] = x8;
      switch (GET_MODE (x4))
        {
        case E_VNx16BImode:
          if (!register_operand (operands[6], E_VNx16BImode)
              || !scratch_operand (operands[0], E_VNx16BImode))
            return -1;
          return 4;

        case E_VNx8BImode:
          if (!register_operand (operands[6], E_VNx8BImode)
              || !scratch_operand (operands[0], E_VNx8BImode))
            return -1;
          return 5;

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

        case E_VNx2BImode:
          if (!register_operand (operands[6], E_VNx2BImode)
              || !scratch_operand (operands[0], E_VNx2BImode))
            return -1;
          return 7;

        default:
          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;
  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
      || !register_operand (operands[1], i1)
      || !aarch64_plus_immediate (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
      || !register_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !register_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;
  if (!aarch64_carry_operation (operands[2], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1
      || !aarch64_carry_operation (operands[3], 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, 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
      || !register_operand (operands[1], i1)
      || !aarch64_borrow_operation (operands[2], i2))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1
      || !aarch64_borrow_operation (operands[3], 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
pattern916 (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;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_plus_immediate (operands[2], i1)
      || pattern878 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

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

    case E_VNx8HImode:
      if (!register_operand (operands[2], E_VNx8HImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx8HImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

    case E_VNx4HImode:
      if (!register_operand (operands[2], E_VNx4HImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4HImode))
        return -1;
      return 1;

    case E_VNx4SImode:
      if (!register_operand (operands[2], E_VNx4SImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx4SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

    case E_VNx2HImode:
      if (!register_operand (operands[2], E_VNx2HImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2HImode))
        return -1;
      return 1;

    case E_VNx2SImode:
      if (!register_operand (operands[2], E_VNx2SImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2SImode))
        return -1;
      return 2;

    case E_VNx2DImode:
      if (!register_operand (operands[2], E_VNx2DImode)
          || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx2DImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern920 (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, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  x7 = XEXP (x5, 1);
  operands[3] = x7;
  x8 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x8))
    {
    case SET:
      x9 = XEXP (x8, 1);
      if (GET_CODE (x9) != UNSPEC
          || XVECLEN (x9, 0) != 3
          || XINT (x9, 1) != 119)
        return -1;
      x10 = XVECEXP (x9, 0, 2);
      if (GET_CODE (x10) != i1)
        return -1;
      x11 = XEXP (x8, 0);
      operands[0] = x11;
      x12 = XVECEXP (x9, 0, 0);
      if (!rtx_equal_p (x12, operands[6]))
        return -1;
      x13 = XVECEXP (x9, 0, 1);
      if (!rtx_equal_p (x13, operands[7]))
        return -1;
      x14 = XEXP (x10, 0);
      if (!rtx_equal_p (x14, operands[2]))
        return -1;
      x15 = XEXP (x10, 1);
      if (!rtx_equal_p (x15, operands[3]))
        return -1;
      switch (GET_MODE (x4))
        {
        case E_VNx16BImode:
          if (GET_MODE (x5) != E_VNx16BImode
              || !register_operand (operands[2], E_VNx16QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx16QImode)
              || !register_operand (operands[0], E_VNx16BImode)
              || GET_MODE (x9) != E_VNx16BImode
              || GET_MODE (x10) != E_VNx16BImode)
            return -1;
          return 0;

        case E_VNx8BImode:
          if (GET_MODE (x5) != E_VNx8BImode
              || !register_operand (operands[0], E_VNx8BImode)
              || GET_MODE (x9) != E_VNx8BImode
              || GET_MODE (x10) != E_VNx8BImode)
            return -1;
          res = pattern917 ();
          if (res >= 0)
            return res + 1; /* [1, 2] */
          return -1;

        case E_VNx4BImode:
          if (GET_MODE (x5) != E_VNx4BImode
              || !register_operand (operands[0], E_VNx4BImode)
              || GET_MODE (x9) != E_VNx4BImode
              || GET_MODE (x10) != E_VNx4BImode)
            return -1;
          res = pattern918 ();
          if (res >= 0)
            return res + 3; /* [3, 5] */
          return -1;

        case E_VNx2BImode:
          if (GET_MODE (x5) != E_VNx2BImode
              || !register_operand (operands[0], E_VNx2BImode)
              || GET_MODE (x9) != E_VNx2BImode
              || GET_MODE (x10) != E_VNx2BImode)
            return -1;
          res = pattern919 ();
          if (res >= 0)
            return res + 6; /* [6, 9] */
          return -1;

        default:
          return -1;
        }

    case CLOBBER:
      x11 = XEXP (x8, 0);
      operands[0] = x11;
      switch (GET_MODE (x4))
        {
        case E_VNx16BImode:
          if (GET_MODE (x5) != E_VNx16BImode
              || !register_operand (operands[2], E_VNx16QImode)
              || !aarch64_sve_cmp_vsc_operand (operands[3], E_VNx16QImode)
              || !scratch_operand (operands[0], E_VNx16BImode))
            return -1;
          return 10;

        case E_VNx8BImode:
          if (GET_MODE (x5) != E_VNx8BImode
              || !scratch_operand (operands[0], E_VNx8BImode))
            return -1;
          res = pattern917 ();
          if (res >= 0)
            return res + 11; /* [11, 12] */
          return -1;

        case E_VNx4BImode:
          if (GET_MODE (x5) != E_VNx4BImode
              || !scratch_operand (operands[0], E_VNx4BImode))
            return -1;
          res = pattern918 ();
          if (res >= 0)
            return res + 13; /* [13, 15] */
          return -1;

        case E_VNx2BImode:
          if (GET_MODE (x5) != E_VNx2BImode
              || !scratch_operand (operands[0], E_VNx2BImode))
            return -1;
          res = pattern919 ();
          if (res >= 0)
            return res + 16; /* [16, 19] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

    case E_VNx8HImode:
      if (!register_operand (operands[2], E_VNx8HImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx8HImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

    case E_VNx4HImode:
      if (!register_operand (operands[2], E_VNx4HImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4HImode))
        return -1;
      return 1;

    case E_VNx4SImode:
      if (!register_operand (operands[2], E_VNx4SImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx4SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

    case E_VNx2HImode:
      if (!register_operand (operands[2], E_VNx2HImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2HImode))
        return -1;
      return 1;

    case E_VNx2SImode:
      if (!register_operand (operands[2], E_VNx2SImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2SImode))
        return -1;
      return 2;

    case E_VNx2DImode:
      if (!register_operand (operands[2], E_VNx2DImode)
          || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx2DImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern924 (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, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  x7 = XEXP (x5, 1);
  operands[3] = x7;
  x8 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x8))
    {
    case SET:
      x9 = XEXP (x8, 1);
      if (GET_CODE (x9) != UNSPEC
          || XVECLEN (x9, 0) != 3
          || XINT (x9, 1) != 119)
        return -1;
      x10 = XVECEXP (x9, 0, 2);
      if (GET_CODE (x10) != i1)
        return -1;
      x11 = XEXP (x8, 0);
      operands[0] = x11;
      x12 = XVECEXP (x9, 0, 0);
      if (!rtx_equal_p (x12, operands[6]))
        return -1;
      x13 = XVECEXP (x9, 0, 1);
      if (!rtx_equal_p (x13, operands[7]))
        return -1;
      x14 = XEXP (x10, 0);
      if (!rtx_equal_p (x14, operands[2]))
        return -1;
      x15 = XEXP (x10, 1);
      if (!rtx_equal_p (x15, operands[3]))
        return -1;
      switch (GET_MODE (x4))
        {
        case E_VNx16BImode:
          if (GET_MODE (x5) != E_VNx16BImode
              || !register_operand (operands[2], E_VNx16QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx16QImode)
              || !register_operand (operands[0], E_VNx16BImode)
              || GET_MODE (x9) != E_VNx16BImode
              || GET_MODE (x10) != E_VNx16BImode)
            return -1;
          return 0;

        case E_VNx8BImode:
          if (GET_MODE (x5) != E_VNx8BImode
              || !register_operand (operands[0], E_VNx8BImode)
              || GET_MODE (x9) != E_VNx8BImode
              || GET_MODE (x10) != E_VNx8BImode)
            return -1;
          res = pattern921 ();
          if (res >= 0)
            return res + 1; /* [1, 2] */
          return -1;

        case E_VNx4BImode:
          if (GET_MODE (x5) != E_VNx4BImode
              || !register_operand (operands[0], E_VNx4BImode)
              || GET_MODE (x9) != E_VNx4BImode
              || GET_MODE (x10) != E_VNx4BImode)
            return -1;
          res = pattern922 ();
          if (res >= 0)
            return res + 3; /* [3, 5] */
          return -1;

        case E_VNx2BImode:
          if (GET_MODE (x5) != E_VNx2BImode
              || !register_operand (operands[0], E_VNx2BImode)
              || GET_MODE (x9) != E_VNx2BImode
              || GET_MODE (x10) != E_VNx2BImode)
            return -1;
          res = pattern923 ();
          if (res >= 0)
            return res + 6; /* [6, 9] */
          return -1;

        default:
          return -1;
        }

    case CLOBBER:
      x11 = XEXP (x8, 0);
      operands[0] = x11;
      switch (GET_MODE (x4))
        {
        case E_VNx16BImode:
          if (GET_MODE (x5) != E_VNx16BImode
              || !register_operand (operands[2], E_VNx16QImode)
              || !aarch64_sve_cmp_vsd_operand (operands[3], E_VNx16QImode)
              || !scratch_operand (operands[0], E_VNx16BImode))
            return -1;
          return 10;

        case E_VNx8BImode:
          if (GET_MODE (x5) != E_VNx8BImode
              || !scratch_operand (operands[0], E_VNx8BImode))
            return -1;
          res = pattern921 ();
          if (res >= 0)
            return res + 11; /* [11, 12] */
          return -1;

        case E_VNx4BImode:
          if (GET_MODE (x5) != E_VNx4BImode
              || !scratch_operand (operands[0], E_VNx4BImode))
            return -1;
          res = pattern922 ();
          if (res >= 0)
            return res + 13; /* [13, 15] */
          return -1;

        case E_VNx2BImode:
          if (GET_MODE (x5) != E_VNx2BImode
              || !scratch_operand (operands[0], E_VNx2BImode))
            return -1;
          res = pattern923 ();
          if (res >= 0)
            return res + 16; /* [16, 19] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern925 (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 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  operands[6] = x5;
  if (!register_operand (operands[6], E_VNx16BImode))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case SET:
      x7 = XEXP (x6, 1);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 3
          || XINT (x7, 1) != 289
          || GET_MODE (x7) != E_VNx16BImode)
        return -1;
      x8 = XEXP (x6, 0);
      operands[0] = x8;
      if (!register_operand (operands[0], E_VNx16BImode))
        return -1;
      x9 = XVECEXP (x7, 0, 0);
      if (!rtx_equal_p (x9, operands[4]))
        return -1;
      x10 = XVECEXP (x7, 0, 1);
      if (!rtx_equal_p (x10, operands[5]))
        return -1;
      x11 = XVECEXP (x7, 0, 2);
      if (!rtx_equal_p (x11, operands[6]))
        return -1;
      return 0;

    case CLOBBER:
      x8 = XEXP (x6, 0);
      operands[0] = x8;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x1) != E_VNx2DFmode)
        return -1;
      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];
  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) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i2)
    return -1;
  x8 = XEXP (x6, 1);
  if (GET_MODE (x8) != i2
      || !register_operand (operands[0], i1))
    return -1;
  x9 = XVECEXP (x1, 0, 1);
  x10 = XEXP (x9, 1);
  if (GET_MODE (x10) != i1)
    return -1;
  return 0;
}

static int
pattern928 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_V4SImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_HImode
      || !register_operand (operands[1], E_V4SImode))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V4HImode:
      if (!register_operand (operands[3], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern929 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_V2DImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode
      || !register_operand (operands[1], E_V2DImode))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V2SImode:
      if (!register_operand (operands[3], E_V2SImode))
        return -1;
      return 0;

    case E_V4SImode:
      if (!register_operand (operands[3], E_V4SImode))
        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
      || !aarch64_carry_operation (operands[3], i2))
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x7 = XEXP (x4, 1);
  if (GET_MODE (x7) != i2
      || !register_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;
  x10 = XEXP (x9, 0);
  if (GET_MODE (x10) != i1
      || !aarch64_carry_operation (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern931 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[6], E_VNx16BImode)
      || !register_operand (operands[3], E_VNx2DImode))
    return -1;
  switch (GET_MODE (x1))
    {
    case E_VNx16BImode:
      x2 = XVECEXP (x1, 0, 2);
      if (GET_MODE (x2) != E_VNx16BImode
          || !register_operand (operands[2], E_VNx16QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

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

    case E_VNx8BImode:
      x2 = XVECEXP (x1, 0, 2);
      if (GET_MODE (x2) != E_VNx8BImode
          || !register_operand (operands[2], E_VNx8HImode)
          || !register_operand (operands[3], E_VNx8HImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern933 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[3]))
    {
    case E_V4HFmode:
      if (!register_operand (operands[3], E_V4HFmode)
          || !aarch64_imm2 (operands[5], E_SImode))
        return -1;
      return 0;

    case E_V8HFmode:
      if (!register_operand (operands[3], E_V8HFmode)
          || !aarch64_lane_imm3 (operands[5], E_SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern934 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[3]))
    {
    case E_V8HFmode:
      if (!register_operand (operands[3], E_V8HFmode)
          || !aarch64_lane_imm3 (operands[5], E_SImode))
        return -1;
      return 0;

    case E_V4HFmode:
      if (!register_operand (operands[3], E_V4HFmode)
          || !aarch64_imm2 (operands[5], E_SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern935 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_V4SImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_HImode)
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V4HImode:
      if (!register_operand (operands[3], E_V4HImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern936 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != E_V2DImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case E_V2SImode:
      if (!register_operand (operands[3], E_V2SImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern937 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[2], i2)
      || !register_operand (operands[0], i1))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XVECEXP (x7, 0, 2);
  if (GET_MODE (x8) != i1)
    return -1;
  return 0;
}

static int
pattern938 (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, x12, x13;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[6], E_VNx16BImode)
      || !register_operand (operands[3], E_VNx2DImode))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x2))
    {
    case SET:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != UNSPEC
          || XVECLEN (x3, 0) != 3
          || XINT (x3, 1) != 119)
        return -1;
      x4 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != i1)
        return -1;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x6 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x6, operands[6]))
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      if (!rtx_equal_p (x7, operands[7]))
        return -1;
      x8 = XVECEXP (x4, 0, 0);
      if (!rtx_equal_p (x8, operands[2]))
        return -1;
      x9 = XVECEXP (x4, 0, 1);
      if (!rtx_equal_p (x9, operands[3]))
        return -1;
      x10 = XVECEXP (x1, 0, 0);
      x11 = XEXP (x10, 1);
      x12 = XVECEXP (x11, 0, 3);
      switch (GET_MODE (x12))
        {
        case E_VNx16BImode:
          return pattern937 (x1, E_VNx16BImode, E_VNx16QImode); /* [-1, 0] */

        case E_VNx8BImode:
          if (pattern937 (x1, E_VNx8BImode, E_VNx8HImode) != 0)
            return -1;
          return 1;

        case E_VNx4BImode:
          if (pattern937 (x1, E_VNx4BImode, E_VNx4SImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case CLOBBER:
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x10 = XVECEXP (x1, 0, 0);
      x11 = XEXP (x10, 1);
      x12 = XVECEXP (x11, 0, 3);
      switch (GET_MODE (x12))
        {
        case E_VNx16BImode:
          x13 = XVECEXP (x12, 0, 2);
          if (GET_MODE (x13) != E_VNx16BImode
              || !register_operand (operands[2], E_VNx16QImode)
              || !scratch_operand (operands[0], E_VNx16BImode))
            return -1;
          return 3;

        case E_VNx8BImode:
          x13 = XVECEXP (x12, 0, 2);
          if (GET_MODE (x13) != E_VNx8BImode
              || !register_operand (operands[2], E_VNx8HImode)
              || !scratch_operand (operands[0], E_VNx8BImode))
            return -1;
          return 4;

        case E_VNx4BImode:
          x13 = XVECEXP (x12, 0, 2);
          if (GET_MODE (x13) != E_VNx4BImode
              || !register_operand (operands[2], E_VNx4SImode)
              || !scratch_operand (operands[0], E_VNx4BImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern939 (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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i2)
      || !register_operand (operands[0], i1))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XVECEXP (x7, 0, 2);
  if (GET_MODE (x8) != i1)
    return -1;
  return 0;
}

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

static int
pattern941 (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, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x2))
    {
    case SET:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != UNSPEC
          || XVECLEN (x3, 0) != 3
          || XINT (x3, 1) != 119)
        return -1;
      x4 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != i1)
        return -1;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x6 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x6, operands[6]))
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      if (!rtx_equal_p (x7, operands[7]))
        return -1;
      x8 = XVECEXP (x4, 0, 0);
      if (!rtx_equal_p (x8, operands[2]))
        return -1;
      x9 = XVECEXP (x4, 0, 1);
      if (!rtx_equal_p (x9, operands[3]))
        return -1;
      x10 = XVECEXP (x1, 0, 0);
      x11 = XEXP (x10, 1);
      x12 = XVECEXP (x11, 0, 3);
      switch (GET_MODE (x12))
        {
        case E_VNx16BImode:
          return pattern939 (x1, E_VNx16BImode, E_VNx16QImode); /* [-1, 0] */

        case E_VNx8BImode:
          if (pattern939 (x1, E_VNx8BImode, E_VNx8HImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case CLOBBER:
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x10 = XVECEXP (x1, 0, 0);
      x11 = XEXP (x10, 1);
      x12 = XVECEXP (x11, 0, 3);
      switch (GET_MODE (x12))
        {
        case E_VNx16BImode:
          x13 = XVECEXP (x12, 0, 2);
          if (pattern940 (x13, E_VNx16BImode, E_VNx16QImode) != 0)
            return -1;
          return 2;

        case E_VNx8BImode:
          x13 = XVECEXP (x12, 0, 2);
          if (pattern940 (x13, E_VNx8BImode, E_VNx8HImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern942 (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;
  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
      || !aarch64_carry_operation (operands[3], i2))
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x7 = XEXP (x4, 1);
  if (GET_MODE (x7) != i2
      || !register_operand (operands[2], i1))
    return -1;
  x8 = XEXP (x3, 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
      || !aarch64_carry_operation (operands[4], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x11 = XVECEXP (x1, 0, 1);
  x12 = XEXP (x11, 1);
  if (GET_MODE (x12) != i1)
    return -1;
  x13 = XEXP (x12, 0);
  if (GET_MODE (x13) != i1)
    return -1;
  return 0;
}

static int
pattern943 (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;
  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
      || !register_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i2
      || !register_operand (operands[2], i1)
      || !aarch64_borrow_operation (operands[3], i2))
    return -1;
  x8 = XEXP (x3, 1);
  if (GET_MODE (x8) != i2)
    return -1;
  x9 = XEXP (x8, 0);
  if (GET_MODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 1);
  if (GET_MODE (x10) != i1
      || !aarch64_borrow_operation (operands[4], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x11 = XVECEXP (x1, 0, 1);
  x12 = XEXP (x11, 1);
  if (GET_MODE (x12) != i1)
    return -1;
  x13 = XEXP (x12, 0);
  if (GET_MODE (x13) != i1)
    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;
  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;
  x5 = XEXP (x3, 0);
  if (!cc_register (x5, E_VOIDmode))
    return -1;
  x6 = XEXP (x2, 1);
  switch (GET_CODE (x6))
    {
    case COMPARE:
      x7 = XEXP (x2, 2);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 1
          || XINT (x7, 1) != 106)
        return -1;
      x8 = XEXP (x1, 0);
      operands[1] = x8;
      operands[4] = x3;
      operands[0] = x5;
      x9 = XEXP (x6, 0);
      operands[2] = x9;
      x10 = XEXP (x6, 1);
      operands[3] = x10;
      x11 = XVECEXP (x7, 0, 0);
      operands[5] = x11;
      if (!immediate_operand (operands[5], E_VOIDmode))
        return -1;
      if (cc_register (operands[1], E_CCmode)
          && GET_MODE (x2) == E_CCmode
          && GET_MODE (x6) == E_CCmode
          && GET_MODE (x7) == E_CCmode)
        {
          switch (GET_MODE (operands[2]))
            {
            case E_SImode:
              if (register_operand (operands[2], E_SImode)
                  && aarch64_ccmp_operand (operands[3], E_SImode))
                return 3; /* ccmpccsi */
              break;

            case E_DImode:
              if (register_operand (operands[2], E_DImode)
                  && aarch64_ccmp_operand (operands[3], E_DImode))
                return 4; /* ccmpccdi */
              break;

            default:
              break;
            }
        }
      if (cc_register (operands[1], E_CCFPmode))
        {
          switch (pattern854 (x2, E_CCFPmode))
            {
            case 0:
              if (
#line 572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 5; /* ccmpccfpsf */
              break;

            case 1:
              if (
#line 572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 6; /* ccmpccfpdf */
              break;

            default:
              break;
            }
        }
      if (!cc_register (operands[1], E_CCFPEmode))
        return -1;
      switch (pattern854 (x2, E_CCFPEmode))
        {
        case 0:
          if (!
#line 572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 7; /* ccmpccfpesf */

        case 1:
          if (!
#line 572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 8; /* ccmpccfpedf */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 106)
        return -1;
      x7 = XEXP (x2, 2);
      if (GET_CODE (x7) != COMPARE)
        return -1;
      x8 = XEXP (x1, 0);
      operands[1] = x8;
      operands[4] = x3;
      operands[0] = x5;
      x12 = XVECEXP (x6, 0, 0);
      operands[5] = x12;
      if (!immediate_operand (operands[5], E_VOIDmode))
        return -1;
      x13 = XEXP (x7, 0);
      operands[2] = x13;
      x14 = XEXP (x7, 1);
      operands[3] = x14;
      if (cc_register (operands[1], E_CCmode)
          && GET_MODE (x2) == E_CCmode
          && GET_MODE (x6) == E_CCmode
          && GET_MODE (x7) == E_CCmode)
        {
          switch (GET_MODE (operands[2]))
            {
            case E_SImode:
              if (register_operand (operands[2], E_SImode)
                  && aarch64_ccmp_operand (operands[3], E_SImode))
                return 9; /* ccmpccsi_rev */
              break;

            case E_DImode:
              if (register_operand (operands[2], E_DImode)
                  && aarch64_ccmp_operand (operands[3], E_DImode))
                return 10; /* ccmpccdi_rev */
              break;

            default:
              break;
            }
        }
      if (cc_register (operands[1], E_CCFPmode))
        {
          switch (pattern855 (x2, E_CCFPmode))
            {
            case 0:
              if (
#line 609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 11; /* ccmpccfpsf_rev */
              break;

            case 1:
              if (
#line 609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 12; /* ccmpccfpdf_rev */
              break;

            default:
              break;
            }
        }
      if (!cc_register (operands[1], E_CCFPEmode))
        return -1;
      switch (pattern855 (x2, E_CCFPEmode))
        {
        case 0:
          if (!
#line 609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 13; /* ccmpccfpesf_rev */

        case 1:
          if (!
#line 609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 14; /* ccmpccfpedf_rev */

        default:
          return -1;
        }

    case LABEL_REF:
      x7 = XEXP (x2, 2);
      if (GET_CODE (x7) != PC)
        return -1;
      x8 = XEXP (x1, 0);
      if (GET_CODE (x8) != PC)
        return -1;
      operands[0] = x3;
      operands[1] = x5;
      x9 = XEXP (x6, 0);
      operands[2] = x9;
      return 15; /* condjump */

    case CONST_INT:
    case REG:
    case SUBREG:
      operands[3] = x6;
      x8 = XEXP (x1, 0);
      operands[0] = x8;
      operands[1] = x3;
      operands[2] = x5;
      x7 = XEXP (x2, 2);
      operands[4] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_QImode:
          if (pattern699 (x2, E_QImode) != 0
              || !
#line 4130 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!((operands[3] == const1_rtx && operands[4] == constm1_rtx)
     || (operands[3] == constm1_rtx && operands[4] == const1_rtx))))
            return -1;
          return 456; /* *cmovqi_insn */

        case E_HImode:
          if (pattern699 (x2, E_HImode) != 0
              || !
#line 4130 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!((operands[3] == const1_rtx && operands[4] == constm1_rtx)
     || (operands[3] == constm1_rtx && operands[4] == const1_rtx))))
            return -1;
          return 457; /* *cmovhi_insn */

        case E_SImode:
          if (pattern699 (x2, E_SImode) != 0
              || !
#line 4130 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!((operands[3] == const1_rtx && operands[4] == constm1_rtx)
     || (operands[3] == constm1_rtx && operands[4] == const1_rtx))))
            return -1;
          return 458; /* *cmovsi_insn */

        case E_DImode:
          if (pattern699 (x2, E_DImode) != 0
              || !
#line 4130 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!((operands[3] == const1_rtx && operands[4] == constm1_rtx)
     || (operands[3] == constm1_rtx && operands[4] == const1_rtx))))
            return -1;
          return 459; /* *cmovdi_insn */

        case E_SFmode:
          if (pattern700 (x2, E_SFmode) != 0
              || !
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 462; /* *cmovsf_insn */

        case E_DFmode:
          if (pattern700 (x2, E_DFmode) != 0
              || !
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 463; /* *cmovdf_insn */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x6) != E_DImode)
        return -1;
      x7 = XEXP (x2, 2);
      if (GET_CODE (x7) != ZERO_EXTEND
          || GET_MODE (x7) != E_DImode)
        return -1;
      x8 = XEXP (x1, 0);
      operands[0] = x8;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      operands[1] = x3;
      operands[2] = x5;
      x9 = XEXP (x6, 0);
      operands[3] = x9;
      if (!register_operand (operands[3], E_SImode))
        return -1;
      x13 = XEXP (x7, 0);
      operands[4] = x13;
      if (!register_operand (operands[4], E_SImode))
        return -1;
      return 461; /* *cmovdi_insn_uxtw */

    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, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != LABEL_REF)
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_CODE (x4) != PC)
    return -1;
  x5 = XEXP (x1, 0);
  if (GET_CODE (x5) != PC)
    return -1;
  x6 = XEXP (x2, 0);
  switch (GET_CODE (x6))
    {
    case EQ:
      switch (pattern462 (x2, pnum_clobbers))
        {
        case 0:
          x7 = XEXP (x6, 1);
          operands[1] = x7;
          x8 = XEXP (x3, 0);
          operands[2] = x8;
          switch (pattern443 (x3))
            {
            case 0:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 16; /* *compare_condjumpsi */
              break;

            case 1:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return 18; /* *compare_condjumpsi */
              break;

            case 2:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 20; /* *compare_condjumpdi */
              break;

            case 3:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return 22; /* *compare_condjumpdi */
              break;

            default:
              break;
            }
          if (XWINT (x7, 0) != 0L)
            return -1;
          operands[1] = x8;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (!register_operand (operands[0], E_SImode)
                  || !
#line 929 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 30; /* *cbeqsi1 */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode)
                  || !
#line 929 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 32; /* *cbeqdi1 */

            default:
              return -1;
            }

        case 1:
          if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 34; /* *tbeqsi1 */

        case 2:
          if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 36; /* *tbeqdi1 */

        default:
          return -1;
        }

    case NE:
      switch (pattern462 (x2, pnum_clobbers))
        {
        case 0:
          x7 = XEXP (x6, 1);
          operands[1] = x7;
          x8 = XEXP (x3, 0);
          operands[2] = x8;
          switch (pattern443 (x3))
            {
            case 0:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 17; /* *compare_condjumpsi */
              break;

            case 1:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return 19; /* *compare_condjumpsi */
              break;

            case 2:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 21; /* *compare_condjumpdi */
              break;

            case 3:
              if ((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return 23; /* *compare_condjumpdi */
              break;

            default:
              break;
            }
          if (XWINT (x7, 0) != 0L)
            return -1;
          operands[1] = x8;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (!register_operand (operands[0], E_SImode)
                  || !
#line 929 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 31; /* *cbnesi1 */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode)
                  || !
#line 929 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 33; /* *cbnedi1 */

            default:
              return -1;
            }

        case 1:
          if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 35; /* *tbnesi1 */

        case 2:
          if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 37; /* *tbnedi1 */

        default:
          return -1;
        }

    case LT:
      switch (pattern463 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 38; /* *cbltqi1 */

        case 1:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 40; /* *cblthi1 */

        case 2:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 42; /* *cbltsi1 */

        case 3:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 44; /* *cbltdi1 */

        default:
          return -1;
        }

    case GE:
      switch (pattern463 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 39; /* *cbgeqi1 */

        case 1:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 41; /* *cbgehi1 */

        case 2:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 43; /* *cbgesi1 */

        case 3:
          if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 45; /* *cbgedi1 */

        default:
          return -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];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case PC:
      x3 = XEXP (x1, 1);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode))
        return -1;
      return 1; /* indirect_jump */

    case ZERO_EXTRACT:
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x5 = XEXP (x2, 1);
      operands[1] = x5;
      if (!const_int_operand (operands[1], E_VOIDmode))
        return -1;
      x6 = XEXP (x2, 2);
      operands[2] = x6;
      if (!const_int_operand (operands[2], E_VOIDmode))
        return -1;
      x3 = XEXP (x1, 1);
      operands[3] = x3;
      switch (GET_MODE (x2))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || !register_operand (operands[3], E_SImode)
              || !
#line 5718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[2]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (SImode)))))
            return -1;
          return 757; /* *insv_regsi */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || !register_operand (operands[3], E_DImode)
              || !
#line 5718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[2]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (DImode)))))
            return -1;
          return 758; /* *insv_regdi */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16QImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx16QImode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx16QImode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx16QImode)
	   && nonmemory_operand (operands[1], VNx16QImode)))))
            return -1;
          return 4469; /* *aarch64_sve_movvnx16qi_ldr_str */

        case E_VNx8HImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8HImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8HImode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx8HImode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx8HImode)
	   && nonmemory_operand (operands[1], VNx8HImode)))))
            return -1;
          return 4470; /* *aarch64_sve_movvnx8hi_ldr_str */

        case E_VNx4SImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4SImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx4SImode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx4SImode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx4SImode)
	   && nonmemory_operand (operands[1], VNx4SImode)))))
            return -1;
          return 4471; /* *aarch64_sve_movvnx4si_ldr_str */

        case E_VNx2DImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2DImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx2DImode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx2DImode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx2DImode)
	   && nonmemory_operand (operands[1], VNx2DImode)))))
            return -1;
          return 4472; /* *aarch64_sve_movvnx2di_ldr_str */

        case E_VNx8BFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8BFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8BFmode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx8BFmode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx8BFmode)
	   && nonmemory_operand (operands[1], VNx8BFmode)))))
            return -1;
          return 4473; /* *aarch64_sve_movvnx8bf_ldr_str */

        case E_VNx8HFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8HFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8HFmode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx8HFmode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx8HFmode)
	   && nonmemory_operand (operands[1], VNx8HFmode)))))
            return -1;
          return 4474; /* *aarch64_sve_movvnx8hf_ldr_str */

        case E_VNx4SFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4SFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx4SFmode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx4SFmode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx4SFmode)
	   && nonmemory_operand (operands[1], VNx4SFmode)))))
            return -1;
          return 4475; /* *aarch64_sve_movvnx4sf_ldr_str */

        case E_VNx2DFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx2DFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx2DFmode)
              || !
#line 692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (VNx2DFmode == VNx16QImode || !BYTES_BIG_ENDIAN)
   && ((lra_in_progress || reload_completed)
       || (register_operand (operands[0], VNx2DFmode)
	   && nonmemory_operand (operands[1], VNx2DFmode)))))
            return -1;
          return 4476; /* *aarch64_sve_movvnx2df_ldr_str */

        case E_VNx32QImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32QImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx32QImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4552; /* *aarch64_sve_movvnx32qi_le */

        case E_VNx16HImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16HImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx16HImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4553; /* *aarch64_sve_movvnx16hi_le */

        case E_VNx8SImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8SImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8SImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4554; /* *aarch64_sve_movvnx8si_le */

        case E_VNx4DImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4DImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx4DImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4555; /* *aarch64_sve_movvnx4di_le */

        case E_VNx16BFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16BFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx16BFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4556; /* *aarch64_sve_movvnx16bf_le */

        case E_VNx16HFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16HFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx16HFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4557; /* *aarch64_sve_movvnx16hf_le */

        case E_VNx8SFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8SFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8SFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4558; /* *aarch64_sve_movvnx8sf_le */

        case E_VNx4DFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4DFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx4DFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4559; /* *aarch64_sve_movvnx4df_le */

        case E_VNx48QImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx48QImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx48QImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4560; /* *aarch64_sve_movvnx48qi_le */

        case E_VNx24HImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx24HImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx24HImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4561; /* *aarch64_sve_movvnx24hi_le */

        case E_VNx12SImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx12SImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx12SImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4562; /* *aarch64_sve_movvnx12si_le */

        case E_VNx6DImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx6DImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx6DImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4563; /* *aarch64_sve_movvnx6di_le */

        case E_VNx24BFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx24BFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx24BFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4564; /* *aarch64_sve_movvnx24bf_le */

        case E_VNx24HFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx24HFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx24HFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4565; /* *aarch64_sve_movvnx24hf_le */

        case E_VNx12SFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx12SFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx12SFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4566; /* *aarch64_sve_movvnx12sf_le */

        case E_VNx6DFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx6DFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx6DFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4567; /* *aarch64_sve_movvnx6df_le */

        case E_VNx64QImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx64QImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx64QImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4568; /* *aarch64_sve_movvnx64qi_le */

        case E_VNx32HImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32HImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx32HImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4569; /* *aarch64_sve_movvnx32hi_le */

        case E_VNx16SImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16SImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx16SImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4570; /* *aarch64_sve_movvnx16si_le */

        case E_VNx8DImode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8DImode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8DImode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4571; /* *aarch64_sve_movvnx8di_le */

        case E_VNx32BFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32BFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx32BFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4572; /* *aarch64_sve_movvnx32bf_le */

        case E_VNx32HFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32HFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx32HFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4573; /* *aarch64_sve_movvnx32hf_le */

        case E_VNx16SFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16SFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx16SFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4574; /* *aarch64_sve_movvnx16sf_le */

        case E_VNx8DFmode:
          if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8DFmode)
              || !aarch64_sve_general_operand (operands[1], E_VNx8DFmode)
              || !
#line 852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4575; /* *aarch64_sve_movvnx8df_le */

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != ZERO_EXTRACT)
    return -1;
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
    return -1;
  x5 = XEXP (x3, 0);
  operands[0] = x5;
  x6 = XEXP (x3, 2);
  operands[1] = x6;
  switch (GET_MODE (x3))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || !const_int_operand (operands[1], E_SImode)
          || !const_int_operand (operands[2], E_SImode)
          || !
#line 1355 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) < GET_MODE_BITSIZE (SImode)
   && UINTVAL (operands[1]) % 16 == 0))
        return -1;
      return 54; /* insv_immsi */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || !const_int_operand (operands[1], E_DImode)
          || !const_int_operand (operands[2], E_DImode)
          || !
#line 1355 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) < GET_MODE_BITSIZE (DImode)
   && UINTVAL (operands[1]) % 16 == 0))
        return -1;
      return 55; /* insv_immdi */

    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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_XImode)
      && aarch64_simd_general_operand (operands[1], E_XImode)
      && 
#line 7214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], XImode)
       || register_operand (operands[1], XImode))))
    return 3889; /* *aarch64_movxi */
  if (!nonimmediate_operand (operands[0], E_XImode)
      || !general_operand (operands[1], E_XImode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], XImode)
       || register_operand (operands[1], XImode))))
    return -1;
  return 3971; /* *aarch64_be_movxi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_CImode)
      && aarch64_simd_general_operand (operands[1], E_CImode)
      && 
#line 7214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], CImode)
       || register_operand (operands[1], CImode))))
    return 3888; /* *aarch64_movci */
  if (!nonimmediate_operand (operands[0], E_CImode)
      || !general_operand (operands[1], E_CImode)
      || !
#line 7311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], CImode)
       || register_operand (operands[1], CImode))))
    return -1;
  return 3954; /* *aarch64_be_movci */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_OImode)
      && aarch64_simd_general_operand (operands[1], E_OImode)
      && 
#line 7214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], OImode)
       || register_operand (operands[1], OImode))))
    return 3887; /* *aarch64_movoi */
  if (!nonimmediate_operand (operands[0], E_OImode)
      || !general_operand (operands[1], E_OImode)
      || !
#line 7286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], OImode)
       || register_operand (operands[1], OImode))))
    return -1;
  return 3937; /* *aarch64_be_movoi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x8BFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x8BFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8BFmode)
       || register_operand (operands[1], V4x8BFmode))))
    return 3886; /* *aarch64_movv4x8bf */
  if (!nonimmediate_operand (operands[0], E_V4x8BFmode)
      || !general_operand (operands[1], E_V4x8BFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8BFmode)
       || register_operand (operands[1], V4x8BFmode))))
    return -1;
  return 3970; /* *aarch64_be_movv4x8bf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x2DFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x2DFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2DFmode)
       || register_operand (operands[1], V4x2DFmode))))
    return 3885; /* *aarch64_movv4x2df */
  if (!nonimmediate_operand (operands[0], E_V4x2DFmode)
      || !general_operand (operands[1], E_V4x2DFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2DFmode)
       || register_operand (operands[1], V4x2DFmode))))
    return -1;
  return 3969; /* *aarch64_be_movv4x2df */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4SFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x4SFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4SFmode)
       || register_operand (operands[1], V4x4SFmode))))
    return 3884; /* *aarch64_movv4x4sf */
  if (!nonimmediate_operand (operands[0], E_V4x4SFmode)
      || !general_operand (operands[1], E_V4x4SFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4SFmode)
       || register_operand (operands[1], V4x4SFmode))))
    return -1;
  return 3968; /* *aarch64_be_movv4x4sf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x8HFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x8HFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8HFmode)
       || register_operand (operands[1], V4x8HFmode))))
    return 3883; /* *aarch64_movv4x8hf */
  if (!nonimmediate_operand (operands[0], E_V4x8HFmode)
      || !general_operand (operands[1], E_V4x8HFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8HFmode)
       || register_operand (operands[1], V4x8HFmode))))
    return -1;
  return 3967; /* *aarch64_be_movv4x8hf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x2DImode)
      && aarch64_simd_general_operand (operands[1], E_V4x2DImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2DImode)
       || register_operand (operands[1], V4x2DImode))))
    return 3882; /* *aarch64_movv4x2di */
  if (!nonimmediate_operand (operands[0], E_V4x2DImode)
      || !general_operand (operands[1], E_V4x2DImode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2DImode)
       || register_operand (operands[1], V4x2DImode))))
    return -1;
  return 3966; /* *aarch64_be_movv4x2di */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4SImode)
      && aarch64_simd_general_operand (operands[1], E_V4x4SImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4SImode)
       || register_operand (operands[1], V4x4SImode))))
    return 3881; /* *aarch64_movv4x4si */
  if (!nonimmediate_operand (operands[0], E_V4x4SImode)
      || !general_operand (operands[1], E_V4x4SImode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4SImode)
       || register_operand (operands[1], V4x4SImode))))
    return -1;
  return 3965; /* *aarch64_be_movv4x4si */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x8HImode)
      && aarch64_simd_general_operand (operands[1], E_V4x8HImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8HImode)
       || register_operand (operands[1], V4x8HImode))))
    return 3880; /* *aarch64_movv4x8hi */
  if (!nonimmediate_operand (operands[0], E_V4x8HImode)
      || !general_operand (operands[1], E_V4x8HImode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8HImode)
       || register_operand (operands[1], V4x8HImode))))
    return -1;
  return 3964; /* *aarch64_be_movv4x8hi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x16QImode)
      && aarch64_simd_general_operand (operands[1], E_V4x16QImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x16QImode)
       || register_operand (operands[1], V4x16QImode))))
    return 3879; /* *aarch64_movv4x16qi */
  if (!nonimmediate_operand (operands[0], E_V4x16QImode)
      || !general_operand (operands[1], E_V4x16QImode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x16QImode)
       || register_operand (operands[1], V4x16QImode))))
    return -1;
  return 3963; /* *aarch64_be_movv4x16qi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x8BFmode)
      && aarch64_simd_general_operand (operands[1], E_V3x8BFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8BFmode)
       || register_operand (operands[1], V3x8BFmode))))
    return 3878; /* *aarch64_movv3x8bf */
  if (!nonimmediate_operand (operands[0], E_V3x8BFmode)
      || !general_operand (operands[1], E_V3x8BFmode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8BFmode)
       || register_operand (operands[1], V3x8BFmode))))
    return -1;
  return 3953; /* *aarch64_be_movv3x8bf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x2DFmode)
      && aarch64_simd_general_operand (operands[1], E_V3x2DFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2DFmode)
       || register_operand (operands[1], V3x2DFmode))))
    return 3877; /* *aarch64_movv3x2df */
  if (!nonimmediate_operand (operands[0], E_V3x2DFmode)
      || !general_operand (operands[1], E_V3x2DFmode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2DFmode)
       || register_operand (operands[1], V3x2DFmode))))
    return -1;
  return 3952; /* *aarch64_be_movv3x2df */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4SFmode)
      && aarch64_simd_general_operand (operands[1], E_V3x4SFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4SFmode)
       || register_operand (operands[1], V3x4SFmode))))
    return 3876; /* *aarch64_movv3x4sf */
  if (!nonimmediate_operand (operands[0], E_V3x4SFmode)
      || !general_operand (operands[1], E_V3x4SFmode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4SFmode)
       || register_operand (operands[1], V3x4SFmode))))
    return -1;
  return 3951; /* *aarch64_be_movv3x4sf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x8HFmode)
      && aarch64_simd_general_operand (operands[1], E_V3x8HFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8HFmode)
       || register_operand (operands[1], V3x8HFmode))))
    return 3875; /* *aarch64_movv3x8hf */
  if (!nonimmediate_operand (operands[0], E_V3x8HFmode)
      || !general_operand (operands[1], E_V3x8HFmode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8HFmode)
       || register_operand (operands[1], V3x8HFmode))))
    return -1;
  return 3950; /* *aarch64_be_movv3x8hf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x2DImode)
      && aarch64_simd_general_operand (operands[1], E_V3x2DImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2DImode)
       || register_operand (operands[1], V3x2DImode))))
    return 3874; /* *aarch64_movv3x2di */
  if (!nonimmediate_operand (operands[0], E_V3x2DImode)
      || !general_operand (operands[1], E_V3x2DImode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2DImode)
       || register_operand (operands[1], V3x2DImode))))
    return -1;
  return 3949; /* *aarch64_be_movv3x2di */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4SImode)
      && aarch64_simd_general_operand (operands[1], E_V3x4SImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4SImode)
       || register_operand (operands[1], V3x4SImode))))
    return 3873; /* *aarch64_movv3x4si */
  if (!nonimmediate_operand (operands[0], E_V3x4SImode)
      || !general_operand (operands[1], E_V3x4SImode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4SImode)
       || register_operand (operands[1], V3x4SImode))))
    return -1;
  return 3948; /* *aarch64_be_movv3x4si */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x8HImode)
      && aarch64_simd_general_operand (operands[1], E_V3x8HImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8HImode)
       || register_operand (operands[1], V3x8HImode))))
    return 3872; /* *aarch64_movv3x8hi */
  if (!nonimmediate_operand (operands[0], E_V3x8HImode)
      || !general_operand (operands[1], E_V3x8HImode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8HImode)
       || register_operand (operands[1], V3x8HImode))))
    return -1;
  return 3947; /* *aarch64_be_movv3x8hi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x16QImode)
      && aarch64_simd_general_operand (operands[1], E_V3x16QImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x16QImode)
       || register_operand (operands[1], V3x16QImode))))
    return 3871; /* *aarch64_movv3x16qi */
  if (!nonimmediate_operand (operands[0], E_V3x16QImode)
      || !general_operand (operands[1], E_V3x16QImode)
      || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x16QImode)
       || register_operand (operands[1], V3x16QImode))))
    return -1;
  return 3946; /* *aarch64_be_movv3x16qi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x8BFmode)
      && aarch64_simd_general_operand (operands[1], E_V2x8BFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8BFmode)
       || register_operand (operands[1], V2x8BFmode))))
    return 3870; /* *aarch64_movv2x8bf */
  if (!nonimmediate_operand (operands[0], E_V2x8BFmode)
      || !general_operand (operands[1], E_V2x8BFmode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8BFmode)
       || register_operand (operands[1], V2x8BFmode))))
    return -1;
  return 3936; /* *aarch64_be_movv2x8bf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x2DFmode)
      && aarch64_simd_general_operand (operands[1], E_V2x2DFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2DFmode)
       || register_operand (operands[1], V2x2DFmode))))
    return 3869; /* *aarch64_movv2x2df */
  if (!nonimmediate_operand (operands[0], E_V2x2DFmode)
      || !general_operand (operands[1], E_V2x2DFmode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2DFmode)
       || register_operand (operands[1], V2x2DFmode))))
    return -1;
  return 3935; /* *aarch64_be_movv2x2df */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4SFmode)
      && aarch64_simd_general_operand (operands[1], E_V2x4SFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4SFmode)
       || register_operand (operands[1], V2x4SFmode))))
    return 3868; /* *aarch64_movv2x4sf */
  if (!nonimmediate_operand (operands[0], E_V2x4SFmode)
      || !general_operand (operands[1], E_V2x4SFmode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4SFmode)
       || register_operand (operands[1], V2x4SFmode))))
    return -1;
  return 3934; /* *aarch64_be_movv2x4sf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x8HFmode)
      && aarch64_simd_general_operand (operands[1], E_V2x8HFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8HFmode)
       || register_operand (operands[1], V2x8HFmode))))
    return 3867; /* *aarch64_movv2x8hf */
  if (!nonimmediate_operand (operands[0], E_V2x8HFmode)
      || !general_operand (operands[1], E_V2x8HFmode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8HFmode)
       || register_operand (operands[1], V2x8HFmode))))
    return -1;
  return 3933; /* *aarch64_be_movv2x8hf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x2DImode)
      && aarch64_simd_general_operand (operands[1], E_V2x2DImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2DImode)
       || register_operand (operands[1], V2x2DImode))))
    return 3866; /* *aarch64_movv2x2di */
  if (!nonimmediate_operand (operands[0], E_V2x2DImode)
      || !general_operand (operands[1], E_V2x2DImode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2DImode)
       || register_operand (operands[1], V2x2DImode))))
    return -1;
  return 3932; /* *aarch64_be_movv2x2di */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4SImode)
      && aarch64_simd_general_operand (operands[1], E_V2x4SImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4SImode)
       || register_operand (operands[1], V2x4SImode))))
    return 3865; /* *aarch64_movv2x4si */
  if (!nonimmediate_operand (operands[0], E_V2x4SImode)
      || !general_operand (operands[1], E_V2x4SImode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4SImode)
       || register_operand (operands[1], V2x4SImode))))
    return -1;
  return 3931; /* *aarch64_be_movv2x4si */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x8HImode)
      && aarch64_simd_general_operand (operands[1], E_V2x8HImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8HImode)
       || register_operand (operands[1], V2x8HImode))))
    return 3864; /* *aarch64_movv2x8hi */
  if (!nonimmediate_operand (operands[0], E_V2x8HImode)
      || !general_operand (operands[1], E_V2x8HImode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8HImode)
       || register_operand (operands[1], V2x8HImode))))
    return -1;
  return 3930; /* *aarch64_be_movv2x8hi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x16QImode)
      && aarch64_simd_general_operand (operands[1], E_V2x16QImode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x16QImode)
       || register_operand (operands[1], V2x16QImode))))
    return 3863; /* *aarch64_movv2x16qi */
  if (!nonimmediate_operand (operands[0], E_V2x16QImode)
      || !general_operand (operands[1], E_V2x16QImode)
      || !
#line 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x16QImode)
       || register_operand (operands[1], V2x16QImode))))
    return -1;
  return 3929; /* *aarch64_be_movv2x16qi */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4BFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x4BFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4BFmode)
       || register_operand (operands[1], V4x4BFmode))))
    return 3862; /* *aarch64_movv4x4bf */
  if (!nonimmediate_operand (operands[0], E_V4x4BFmode)
      || !general_operand (operands[1], E_V4x4BFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4BFmode)
       || register_operand (operands[1], V4x4BFmode))))
    return -1;
  return 3962; /* *aarch64_be_movv4x4bf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x1DFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x1DFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x1DFmode)
       || register_operand (operands[1], V4x1DFmode))))
    return 3861; /* *aarch64_movv4x1df */
  if (!nonimmediate_operand (operands[0], E_V4x1DFmode)
      || !general_operand (operands[1], E_V4x1DFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x1DFmode)
       || register_operand (operands[1], V4x1DFmode))))
    return -1;
  return 3961; /* *aarch64_be_movv4x1df */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x2SFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x2SFmode)
      && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2SFmode)
       || register_operand (operands[1], V4x2SFmode))))
    return 3860; /* *aarch64_movv4x2sf */
  if (!nonimmediate_operand (operands[0], E_V4x2SFmode)
      || !general_operand (operands[1], E_V4x2SFmode)
      || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2SFmode)
       || register_operand (operands[1], V4x2SFmode))))
    return -1;
  return 3960; /* *aarch64_be_movv4x2sf */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (!nonimmediate_operand (operands[0], E_QImode)
          || !aarch64_mov_operand (operands[1], E_QImode)
          || !
#line 1202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], QImode)
    || aarch64_reg_or_zero (operands[1], QImode))))
        return -1;
      return 50; /* *movqi_aarch64 */

    case E_HImode:
      if (!nonimmediate_operand (operands[0], E_HImode)
          || !aarch64_mov_operand (operands[1], E_HImode)
          || !
#line 1202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], HImode)
    || aarch64_reg_or_zero (operands[1], HImode))))
        return -1;
      return 51; /* *movhi_aarch64 */

    case E_SImode:
      if (!nonimmediate_operand (operands[0], E_SImode)
          || !aarch64_mov_operand (operands[1], E_SImode)
          || !
#line 1276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], SImode)
    || aarch64_reg_or_zero (operands[1], SImode))))
        return -1;
      return 52; /* *movsi_aarch64 */

    case E_DImode:
      if (!nonimmediate_operand (operands[0], E_DImode)
          || !aarch64_mov_operand (operands[1], E_DImode)
          || !
#line 1314 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], DImode)
    || aarch64_reg_or_zero (operands[1], DImode))))
        return -1;
      return 53; /* *movdi_aarch64 */

    case E_HFmode:
      if (!nonimmediate_operand (operands[0], E_HFmode)
          || !general_operand (operands[1], E_HFmode)
          || !
#line 1460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], HFmode)
    || aarch64_reg_or_fp_zero (operands[1], HFmode))))
        return -1;
      return 59; /* *movhf_aarch64 */

    case E_BFmode:
      if (!nonimmediate_operand (operands[0], E_BFmode)
          || !general_operand (operands[1], E_BFmode)
          || !
#line 1460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], BFmode)
    || aarch64_reg_or_fp_zero (operands[1], BFmode))))
        return -1;
      return 60; /* *movbf_aarch64 */

    case E_SFmode:
      if (!nonimmediate_operand (operands[0], E_SFmode)
          || !general_operand (operands[1], E_SFmode)
          || !
#line 1483 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], SFmode)
    || aarch64_reg_or_fp_zero (operands[1], SFmode))))
        return -1;
      return 61; /* *movsf_aarch64 */

    case E_DFmode:
      if (!nonimmediate_operand (operands[0], E_DFmode)
          || !general_operand (operands[1], E_DFmode)
          || !
#line 1507 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], DFmode)
    || aarch64_reg_or_fp_zero (operands[1], DFmode))))
        return -1;
      return 62; /* *movdf_aarch64 */

    case E_TFmode:
      if (!nonimmediate_operand (operands[0], E_TFmode)
          || !general_operand (operands[1], E_TFmode)
          || !
#line 1553 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], TFmode)
    || aarch64_reg_or_fp_zero (operands[1], TFmode))))
        return -1;
      return 63; /* *movtf_aarch64 */

    case E_V8QImode:
      if (!nonimmediate_operand (operands[0], E_V8QImode)
          || !general_operand (operands[1], E_V8QImode)
          || !
#line 122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V8QImode)
       || aarch64_simd_reg_or_zero (operands[1], V8QImode))))
        return -1;
      return 1174; /* *aarch64_simd_movv8qi */

    case E_V4HImode:
      if (!nonimmediate_operand (operands[0], E_V4HImode)
          || !general_operand (operands[1], E_V4HImode)
          || !
#line 122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V4HImode)
       || aarch64_simd_reg_or_zero (operands[1], V4HImode))))
        return -1;
      return 1175; /* *aarch64_simd_movv4hi */

    case E_V4HFmode:
      if (!nonimmediate_operand (operands[0], E_V4HFmode)
          || !general_operand (operands[1], E_V4HFmode)
          || !
#line 122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V4HFmode)
       || aarch64_simd_reg_or_zero (operands[1], V4HFmode))))
        return -1;
      return 1176; /* *aarch64_simd_movv4hf */

    case E_V4BFmode:
      if (!nonimmediate_operand (operands[0], E_V4BFmode)
          || !general_operand (operands[1], E_V4BFmode)
          || !
#line 122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V4BFmode)
       || aarch64_simd_reg_or_zero (operands[1], V4BFmode))))
        return -1;
      return 1177; /* *aarch64_simd_movv4bf */

    case E_V2SImode:
      if (!nonimmediate_operand (operands[0], E_V2SImode)
          || !general_operand (operands[1], E_V2SImode)
          || !
#line 122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V2SImode)
       || aarch64_simd_reg_or_zero (operands[1], V2SImode))))
        return -1;
      return 1178; /* *aarch64_simd_movv2si */

    case E_V2SFmode:
      if (!nonimmediate_operand (operands[0], E_V2SFmode)
          || !general_operand (operands[1], E_V2SFmode)
          || !
#line 122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V2SFmode)
       || aarch64_simd_reg_or_zero (operands[1], V2SFmode))))
        return -1;
      return 1179; /* *aarch64_simd_movv2sf */

    case E_V16QImode:
      if (!nonimmediate_operand (operands[0], E_V16QImode)
          || !general_operand (operands[1], E_V16QImode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V16QImode)
       || aarch64_simd_reg_or_zero (operands[1], V16QImode))))
        return -1;
      return 1180; /* *aarch64_simd_movv16qi */

    case E_V8HImode:
      if (!nonimmediate_operand (operands[0], E_V8HImode)
          || !general_operand (operands[1], E_V8HImode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V8HImode)
       || aarch64_simd_reg_or_zero (operands[1], V8HImode))))
        return -1;
      return 1181; /* *aarch64_simd_movv8hi */

    case E_V4SImode:
      if (!nonimmediate_operand (operands[0], E_V4SImode)
          || !general_operand (operands[1], E_V4SImode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V4SImode)
       || aarch64_simd_reg_or_zero (operands[1], V4SImode))))
        return -1;
      return 1182; /* *aarch64_simd_movv4si */

    case E_V2DImode:
      if (!nonimmediate_operand (operands[0], E_V2DImode)
          || !general_operand (operands[1], E_V2DImode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V2DImode)
       || aarch64_simd_reg_or_zero (operands[1], V2DImode))))
        return -1;
      return 1183; /* *aarch64_simd_movv2di */

    case E_V8HFmode:
      if (!nonimmediate_operand (operands[0], E_V8HFmode)
          || !general_operand (operands[1], E_V8HFmode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V8HFmode)
       || aarch64_simd_reg_or_zero (operands[1], V8HFmode))))
        return -1;
      return 1184; /* *aarch64_simd_movv8hf */

    case E_V8BFmode:
      if (!nonimmediate_operand (operands[0], E_V8BFmode)
          || !general_operand (operands[1], E_V8BFmode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V8BFmode)
       || aarch64_simd_reg_or_zero (operands[1], V8BFmode))))
        return -1;
      return 1185; /* *aarch64_simd_movv8bf */

    case E_V4SFmode:
      if (!nonimmediate_operand (operands[0], E_V4SFmode)
          || !general_operand (operands[1], E_V4SFmode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V4SFmode)
       || aarch64_simd_reg_or_zero (operands[1], V4SFmode))))
        return -1;
      return 1186; /* *aarch64_simd_movv4sf */

    case E_V2DFmode:
      if (!nonimmediate_operand (operands[0], E_V2DFmode)
          || !general_operand (operands[1], E_V2DFmode)
          || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && (register_operand (operands[0], V2DFmode)
       || aarch64_simd_reg_or_zero (operands[1], V2DFmode))))
        return -1;
      return 1187; /* *aarch64_simd_movv2df */

    case E_V2x8QImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x8QImode)
          && aarch64_simd_general_operand (operands[1], E_V2x8QImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8QImode)
       || register_operand (operands[1], V2x8QImode))))
        return 3839; /* *aarch64_movv2x8qi */
      if (!nonimmediate_operand (operands[0], E_V2x8QImode)
          || !general_operand (operands[1], E_V2x8QImode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8QImode)
       || register_operand (operands[1], V2x8QImode))))
        return -1;
      return 3921; /* *aarch64_be_movv2x8qi */

    case E_V2x4HImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4HImode)
          && aarch64_simd_general_operand (operands[1], E_V2x4HImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4HImode)
       || register_operand (operands[1], V2x4HImode))))
        return 3840; /* *aarch64_movv2x4hi */
      if (!nonimmediate_operand (operands[0], E_V2x4HImode)
          || !general_operand (operands[1], E_V2x4HImode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4HImode)
       || register_operand (operands[1], V2x4HImode))))
        return -1;
      return 3922; /* *aarch64_be_movv2x4hi */

    case E_V2x2SImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x2SImode)
          && aarch64_simd_general_operand (operands[1], E_V2x2SImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2SImode)
       || register_operand (operands[1], V2x2SImode))))
        return 3841; /* *aarch64_movv2x2si */
      if (!nonimmediate_operand (operands[0], E_V2x2SImode)
          || !general_operand (operands[1], E_V2x2SImode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2SImode)
       || register_operand (operands[1], V2x2SImode))))
        return -1;
      return 3923; /* *aarch64_be_movv2x2si */

    case E_V2x1DImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x1DImode)
          && aarch64_simd_general_operand (operands[1], E_V2x1DImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x1DImode)
       || register_operand (operands[1], V2x1DImode))))
        return 3842; /* *aarch64_movv2x1di */
      if (!nonimmediate_operand (operands[0], E_V2x1DImode)
          || !general_operand (operands[1], E_V2x1DImode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x1DImode)
       || register_operand (operands[1], V2x1DImode))))
        return -1;
      return 3924; /* *aarch64_be_movv2x1di */

    case E_V2x4HFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4HFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x4HFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4HFmode)
       || register_operand (operands[1], V2x4HFmode))))
        return 3843; /* *aarch64_movv2x4hf */
      if (!nonimmediate_operand (operands[0], E_V2x4HFmode)
          || !general_operand (operands[1], E_V2x4HFmode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4HFmode)
       || register_operand (operands[1], V2x4HFmode))))
        return -1;
      return 3925; /* *aarch64_be_movv2x4hf */

    case E_V2x2SFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x2SFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x2SFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2SFmode)
       || register_operand (operands[1], V2x2SFmode))))
        return 3844; /* *aarch64_movv2x2sf */
      if (!nonimmediate_operand (operands[0], E_V2x2SFmode)
          || !general_operand (operands[1], E_V2x2SFmode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2SFmode)
       || register_operand (operands[1], V2x2SFmode))))
        return -1;
      return 3926; /* *aarch64_be_movv2x2sf */

    case E_V2x1DFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x1DFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x1DFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x1DFmode)
       || register_operand (operands[1], V2x1DFmode))))
        return 3845; /* *aarch64_movv2x1df */
      if (!nonimmediate_operand (operands[0], E_V2x1DFmode)
          || !general_operand (operands[1], E_V2x1DFmode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x1DFmode)
       || register_operand (operands[1], V2x1DFmode))))
        return -1;
      return 3927; /* *aarch64_be_movv2x1df */

    case E_V2x4BFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4BFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x4BFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4BFmode)
       || register_operand (operands[1], V2x4BFmode))))
        return 3846; /* *aarch64_movv2x4bf */
      if (!nonimmediate_operand (operands[0], E_V2x4BFmode)
          || !general_operand (operands[1], E_V2x4BFmode)
          || !
#line 7258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4BFmode)
       || register_operand (operands[1], V2x4BFmode))))
        return -1;
      return 3928; /* *aarch64_be_movv2x4bf */

    case E_V3x8QImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x8QImode)
          && aarch64_simd_general_operand (operands[1], E_V3x8QImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8QImode)
       || register_operand (operands[1], V3x8QImode))))
        return 3847; /* *aarch64_movv3x8qi */
      if (!nonimmediate_operand (operands[0], E_V3x8QImode)
          || !general_operand (operands[1], E_V3x8QImode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8QImode)
       || register_operand (operands[1], V3x8QImode))))
        return -1;
      return 3938; /* *aarch64_be_movv3x8qi */

    case E_V3x4HImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4HImode)
          && aarch64_simd_general_operand (operands[1], E_V3x4HImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4HImode)
       || register_operand (operands[1], V3x4HImode))))
        return 3848; /* *aarch64_movv3x4hi */
      if (!nonimmediate_operand (operands[0], E_V3x4HImode)
          || !general_operand (operands[1], E_V3x4HImode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4HImode)
       || register_operand (operands[1], V3x4HImode))))
        return -1;
      return 3939; /* *aarch64_be_movv3x4hi */

    case E_V3x2SImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x2SImode)
          && aarch64_simd_general_operand (operands[1], E_V3x2SImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2SImode)
       || register_operand (operands[1], V3x2SImode))))
        return 3849; /* *aarch64_movv3x2si */
      if (!nonimmediate_operand (operands[0], E_V3x2SImode)
          || !general_operand (operands[1], E_V3x2SImode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2SImode)
       || register_operand (operands[1], V3x2SImode))))
        return -1;
      return 3940; /* *aarch64_be_movv3x2si */

    case E_V3x1DImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x1DImode)
          && aarch64_simd_general_operand (operands[1], E_V3x1DImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x1DImode)
       || register_operand (operands[1], V3x1DImode))))
        return 3850; /* *aarch64_movv3x1di */
      if (!nonimmediate_operand (operands[0], E_V3x1DImode)
          || !general_operand (operands[1], E_V3x1DImode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x1DImode)
       || register_operand (operands[1], V3x1DImode))))
        return -1;
      return 3941; /* *aarch64_be_movv3x1di */

    case E_V3x4HFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4HFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x4HFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4HFmode)
       || register_operand (operands[1], V3x4HFmode))))
        return 3851; /* *aarch64_movv3x4hf */
      if (!nonimmediate_operand (operands[0], E_V3x4HFmode)
          || !general_operand (operands[1], E_V3x4HFmode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4HFmode)
       || register_operand (operands[1], V3x4HFmode))))
        return -1;
      return 3942; /* *aarch64_be_movv3x4hf */

    case E_V3x2SFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x2SFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x2SFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2SFmode)
       || register_operand (operands[1], V3x2SFmode))))
        return 3852; /* *aarch64_movv3x2sf */
      if (!nonimmediate_operand (operands[0], E_V3x2SFmode)
          || !general_operand (operands[1], E_V3x2SFmode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2SFmode)
       || register_operand (operands[1], V3x2SFmode))))
        return -1;
      return 3943; /* *aarch64_be_movv3x2sf */

    case E_V3x1DFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x1DFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x1DFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x1DFmode)
       || register_operand (operands[1], V3x1DFmode))))
        return 3853; /* *aarch64_movv3x1df */
      if (!nonimmediate_operand (operands[0], E_V3x1DFmode)
          || !general_operand (operands[1], E_V3x1DFmode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x1DFmode)
       || register_operand (operands[1], V3x1DFmode))))
        return -1;
      return 3944; /* *aarch64_be_movv3x1df */

    case E_V3x4BFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4BFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x4BFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4BFmode)
       || register_operand (operands[1], V3x4BFmode))))
        return 3854; /* *aarch64_movv3x4bf */
      if (!nonimmediate_operand (operands[0], E_V3x4BFmode)
          || !general_operand (operands[1], E_V3x4BFmode)
          || !
#line 7300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4BFmode)
       || register_operand (operands[1], V3x4BFmode))))
        return -1;
      return 3945; /* *aarch64_be_movv3x4bf */

    case E_V4x8QImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x8QImode)
          && aarch64_simd_general_operand (operands[1], E_V4x8QImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8QImode)
       || register_operand (operands[1], V4x8QImode))))
        return 3855; /* *aarch64_movv4x8qi */
      if (!nonimmediate_operand (operands[0], E_V4x8QImode)
          || !general_operand (operands[1], E_V4x8QImode)
          || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8QImode)
       || register_operand (operands[1], V4x8QImode))))
        return -1;
      return 3955; /* *aarch64_be_movv4x8qi */

    case E_V4x4HImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4HImode)
          && aarch64_simd_general_operand (operands[1], E_V4x4HImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4HImode)
       || register_operand (operands[1], V4x4HImode))))
        return 3856; /* *aarch64_movv4x4hi */
      if (!nonimmediate_operand (operands[0], E_V4x4HImode)
          || !general_operand (operands[1], E_V4x4HImode)
          || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4HImode)
       || register_operand (operands[1], V4x4HImode))))
        return -1;
      return 3956; /* *aarch64_be_movv4x4hi */

    case E_V4x2SImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x2SImode)
          && aarch64_simd_general_operand (operands[1], E_V4x2SImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2SImode)
       || register_operand (operands[1], V4x2SImode))))
        return 3857; /* *aarch64_movv4x2si */
      if (!nonimmediate_operand (operands[0], E_V4x2SImode)
          || !general_operand (operands[1], E_V4x2SImode)
          || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2SImode)
       || register_operand (operands[1], V4x2SImode))))
        return -1;
      return 3957; /* *aarch64_be_movv4x2si */

    case E_V4x1DImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x1DImode)
          && aarch64_simd_general_operand (operands[1], E_V4x1DImode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x1DImode)
       || register_operand (operands[1], V4x1DImode))))
        return 3858; /* *aarch64_movv4x1di */
      if (!nonimmediate_operand (operands[0], E_V4x1DImode)
          || !general_operand (operands[1], E_V4x1DImode)
          || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x1DImode)
       || register_operand (operands[1], V4x1DImode))))
        return -1;
      return 3958; /* *aarch64_be_movv4x1di */

    case E_V4x4HFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4HFmode)
          && aarch64_simd_general_operand (operands[1], E_V4x4HFmode)
          && 
#line 7199 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4HFmode)
       || register_operand (operands[1], V4x4HFmode))))
        return 3859; /* *aarch64_movv4x4hf */
      if (!nonimmediate_operand (operands[0], E_V4x4HFmode)
          || !general_operand (operands[1], E_V4x4HFmode)
          || !
#line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4HFmode)
       || register_operand (operands[1], V4x4HFmode))))
        return -1;
      return 3959; /* *aarch64_be_movv4x4hf */

    case E_V4x2SFmode:
      return recog_34 (x1, insn, pnum_clobbers);

    case E_V4x1DFmode:
      return recog_33 (x1, insn, pnum_clobbers);

    case E_V4x4BFmode:
      return recog_32 (x1, insn, pnum_clobbers);

    case E_V2x16QImode:
      return recog_31 (x1, insn, pnum_clobbers);

    case E_V2x8HImode:
      return recog_30 (x1, insn, pnum_clobbers);

    case E_V2x4SImode:
      return recog_29 (x1, insn, pnum_clobbers);

    case E_V2x2DImode:
      return recog_28 (x1, insn, pnum_clobbers);

    case E_V2x8HFmode:
      return recog_27 (x1, insn, pnum_clobbers);

    case E_V2x4SFmode:
      return recog_26 (x1, insn, pnum_clobbers);

    case E_V2x2DFmode:
      return recog_25 (x1, insn, pnum_clobbers);

    case E_V2x8BFmode:
      return recog_24 (x1, insn, pnum_clobbers);

    case E_V3x16QImode:
      return recog_23 (x1, insn, pnum_clobbers);

    case E_V3x8HImode:
      return recog_22 (x1, insn, pnum_clobbers);

    case E_V3x4SImode:
      return recog_21 (x1, insn, pnum_clobbers);

    case E_V3x2DImode:
      return recog_20 (x1, insn, pnum_clobbers);

    case E_V3x8HFmode:
      return recog_19 (x1, insn, pnum_clobbers);

    case E_V3x4SFmode:
      return recog_18 (x1, insn, pnum_clobbers);

    case E_V3x2DFmode:
      return recog_17 (x1, insn, pnum_clobbers);

    case E_V3x8BFmode:
      return recog_16 (x1, insn, pnum_clobbers);

    case E_V4x16QImode:
      return recog_15 (x1, insn, pnum_clobbers);

    case E_V4x8HImode:
      return recog_14 (x1, insn, pnum_clobbers);

    case E_V4x4SImode:
      return recog_13 (x1, insn, pnum_clobbers);

    case E_V4x2DImode:
      return recog_12 (x1, insn, pnum_clobbers);

    case E_V4x8HFmode:
      return recog_11 (x1, insn, pnum_clobbers);

    case E_V4x4SFmode:
      return recog_10 (x1, insn, pnum_clobbers);

    case E_V4x2DFmode:
      return recog_9 (x1, insn, pnum_clobbers);

    case E_V4x8BFmode:
      return recog_8 (x1, insn, pnum_clobbers);

    case E_OImode:
      return recog_7 (x1, insn, pnum_clobbers);

    case E_CImode:
      return recog_6 (x1, insn, pnum_clobbers);

    case E_XImode:
      return recog_5 (x1, insn, pnum_clobbers);

    case E_V8DImode:
      if (!nonimmediate_operand (operands[0], E_V8DImode)
          || !general_operand (operands[1], E_V8DImode)
          || !
#line 7229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
((register_operand (operands[0], V8DImode)
    || register_operand (operands[1], V8DImode))))
        return -1;
      return 3890; /* *aarch64_movv8di */

    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;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case ASHIFT:
      x5 = XEXP (x2, 0);
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      x8 = XEXP (x4, 0);
      operands[3] = x8;
      x9 = XEXP (x4, 1);
      operands[4] = x9;
      x10 = XEXP (x3, 1);
      operands[5] = x10;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern741 (x2, E_SImode) != 0
              || !aarch64_simd_shift_imm_si (operands[4], E_SImode)
              || !const_int_operand (operands[5], E_SImode)
              || !
#line 5749 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[2]),
				      UINTVAL (operands[4]),
				      UINTVAL(operands[5]))))
            return -1;
          return 765; /* *aarch64_bfisi5_shift */

        case E_DImode:
          if (pattern741 (x2, E_DImode) != 0
              || !aarch64_simd_shift_imm_di (operands[4], E_DImode)
              || !const_int_operand (operands[5], E_DImode)
              || !
#line 5749 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[2]),
				      UINTVAL (operands[4]),
				      UINTVAL(operands[5]))))
            return -1;
          return 766; /* *aarch64_bfidi5_shift */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern502 (x2, E_SImode) != 0)
            return -1;
          x5 = XEXP (x2, 0);
          x7 = XEXP (x5, 1);
          operands[2] = x7;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (GET_MODE (x3) == E_SImode)
            {
              operands[3] = x4;
              if (register_operand (operands[3], E_SImode))
                {
                  x10 = XEXP (x3, 1);
                  operands[4] = x10;
                  if (const_int_operand (operands[4], E_SImode)
                      && 
#line 5818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 773; /* *aarch64_bfisi4_noshift */
                }
            }
          operands[4] = x7;
          operands[3] = x6;
          if (GET_MODE (x3) == E_SImode)
            {
              operands[1] = x4;
              if (register_operand (operands[1], E_SImode))
                {
                  x10 = XEXP (x3, 1);
                  operands[2] = x10;
                  if (const_int_operand (operands[2], E_SImode)
                      && 
#line 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 775; /* *aarch64_bfisi4_noshift_alt */
                }
            }
          operands[3] = x7;
          operands[1] = x6;
          if (GET_MODE (x3) != E_SImode)
            return -1;
          operands[2] = x4;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          x10 = XEXP (x3, 1);
          operands[4] = x10;
          if (!const_int_operand (operands[4], E_SImode)
              || !
#line 5985 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((INTVAL (operands[3]) == ~INTVAL (operands[4]))
  && (aarch64_high_bits_all_ones_p (INTVAL (operands[3]))
    || aarch64_high_bits_all_ones_p (INTVAL (operands[4])))))
            return -1;
          return 804; /* *aarch64_bfxilsi */

        case E_DImode:
          if (pattern502 (x2, E_DImode) != 0)
            return -1;
          x5 = XEXP (x2, 0);
          x7 = XEXP (x5, 1);
          operands[2] = x7;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (GET_MODE (x3) == E_DImode)
            {
              operands[3] = x4;
              if (register_operand (operands[3], E_DImode))
                {
                  x10 = XEXP (x3, 1);
                  operands[4] = x10;
                  if (const_int_operand (operands[4], E_DImode)
                      && 
#line 5818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 774; /* *aarch64_bfidi4_noshift */
                }
            }
          operands[4] = x7;
          operands[3] = x6;
          if (GET_MODE (x3) == E_DImode)
            {
              operands[1] = x4;
              if (register_operand (operands[1], E_DImode))
                {
                  x10 = XEXP (x3, 1);
                  operands[2] = x10;
                  if (const_int_operand (operands[2], E_DImode)
                      && 
#line 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 776; /* *aarch64_bfidi4_noshift_alt */
                }
            }
          operands[3] = x7;
          operands[1] = x6;
          if (GET_MODE (x3) != E_DImode)
            return -1;
          operands[2] = x4;
          if (!register_operand (operands[2], E_DImode))
            return -1;
          x10 = XEXP (x3, 1);
          operands[4] = x10;
          if (!const_int_operand (operands[4], E_DImode)
              || !
#line 5985 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((INTVAL (operands[3]) == ~INTVAL (operands[4]))
  && (aarch64_high_bits_all_ones_p (INTVAL (operands[3]))
    || aarch64_high_bits_all_ones_p (INTVAL (operands[4])))))
            return -1;
          return 805; /* *aarch64_bfxildi */

        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;
  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);
  x7 = XEXP (x6, 0);
  operands[3] = x7;
  x8 = XEXP (x6, 1);
  operands[4] = x8;
  switch (pattern621 (x2))
    {
    case 0:
      if (!
#line 5781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[2]),
				      UINTVAL (operands[4]),
				      HOST_WIDE_INT_M1U << UINTVAL (operands[4]) )))
        return -1;
      return 769; /* *aarch64_bfisi4_noand */

    case 1:
      if (!
#line 5781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[2]),
				      UINTVAL (operands[4]),
				      HOST_WIDE_INT_M1U << UINTVAL (operands[4]) )))
        return -1;
      return 770; /* *aarch64_bfidi4_noand */

    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;
  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);
  x7 = XEXP (x6, 0);
  operands[3] = x7;
  x8 = XEXP (x6, 1);
  operands[4] = x8;
  x9 = XEXP (x6, 2);
  operands[5] = x9;
  switch (pattern621 (x2))
    {
    case 0:
      if (!aarch64_simd_shift_imm_si (operands[5], E_SImode)
          || !
#line 5844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == HOST_WIDE_INT_M1U << INTVAL (operands[4])
   && INTVAL (operands[4])
   && (UINTVAL (operands[4]) + UINTVAL (operands[5])
       <= GET_MODE_BITSIZE (SImode))))
        return -1;
      return 777; /* *aarch64_bfxilsi_extr */

    case 1:
      if (!aarch64_simd_shift_imm_di (operands[5], E_DImode)
          || !
#line 5844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == HOST_WIDE_INT_M1U << INTVAL (operands[4])
   && INTVAL (operands[4])
   && (UINTVAL (operands[4]) + UINTVAL (operands[5])
       <= GET_MODE_BITSIZE (DImode))))
        return -1;
      return 778; /* *aarch64_bfxildi_extr */

    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, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  operands[6] = x3;
  if (!subreg_lowpart_operator (operands[6], E_SImode))
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != ZERO_EXTRACT
      || GET_MODE (x4) != E_DImode
      || !register_operand (operands[0], E_SImode)
      || GET_MODE (x2) != E_SImode)
    return -1;
  x5 = XEXP (x2, 0);
  if (GET_MODE (x5) != E_SImode)
    return -1;
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x7 = XEXP (x5, 1);
  operands[2] = x7;
  if (!const_int_operand (operands[2], E_SImode))
    return -1;
  x8 = XEXP (x4, 0);
  operands[3] = x8;
  if (!register_operand (operands[3], E_DImode))
    return -1;
  x9 = XEXP (x4, 1);
  operands[4] = x9;
  if (!aarch64_simd_shift_imm_si (operands[4], E_SImode))
    return -1;
  x10 = XEXP (x4, 2);
  operands[5] = x10;
  if (!aarch64_simd_shift_imm_si (operands[5], E_SImode)
      || !
#line 5861 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == HOST_WIDE_INT_M1U << INTVAL (operands[4])
   && INTVAL (operands[4])
   && UINTVAL (operands[4]) + UINTVAL (operands[5]) <= 32))
    return -1;
  return 779; /* *aarch64_bfxilsi_extrdi */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != AND)
    return -1;
  x4 = XEXP (x2, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x4, 1);
  operands[3] = x7;
  x8 = XEXP (x3, 0);
  operands[4] = x8;
  x9 = XEXP (x3, 1);
  operands[5] = x9;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (pattern702 (x2, E_SImode) != 0
          || !aarch64_simd_shift_imm_si (operands[2], E_SImode)
          || pattern875 (x3, E_SImode) != 0
          || !
#line 5764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[5]),
				      UINTVAL (operands[2]),
				      UINTVAL(operands[3]))))
        return -1;
      return 767; /* *aarch64_bfisi5_shift_alt */

    case E_DImode:
      if (pattern702 (x2, E_DImode) != 0
          || !aarch64_simd_shift_imm_di (operands[2], E_DImode)
          || pattern875 (x3, E_DImode) != 0
          || !
#line 5764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[5]),
				      UINTVAL (operands[2]),
				      UINTVAL(operands[3]))))
        return -1;
      return 768; /* *aarch64_bfidi5_shift_alt */

    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, x21, x22, x23, x24, x25;
  rtx x26, x27, x28;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      x5 = XEXP (x3, 1);
      switch (GET_CODE (x5))
        {
        case CONST_INT:
          x6 = XEXP (x2, 1);
          switch (GET_CODE (x6))
            {
            case CONST_INT:
              operands[3] = x6;
              operands[1] = x4;
              operands[2] = x5;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern620 (x2, E_SImode) == 0
                      && 
#line 1367 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_movk_shift (rtx_mode_t (operands[2], SImode),
		       rtx_mode_t (operands[3], SImode)) >= 0))
                    return 56; /* aarch64_movksi */
                  break;

                case E_DImode:
                  if (pattern620 (x2, E_DImode) == 0
                      && 
#line 1367 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_movk_shift (rtx_mode_t (operands[2], DImode),
		       rtx_mode_t (operands[3], DImode)) >= 0))
                    return 57; /* aarch64_movkdi */
                  break;

                default:
                  break;
                }
              break;

            case AND:
              res = recog_36 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case ASHIFT:
              res = recog_37 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case ZERO_EXTRACT:
              res = recog_38 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case SUBREG:
            case TRUNCATE:
              res = recog_39 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            default:
              break;
            }
          if (XWINT (x5, 0) != -1080863910568919041L
              || GET_CODE (x6) != ASHIFT
              || GET_MODE (x6) != E_DImode
              || pattern503 (x2) != 0)
            return -1;
          x7 = XEXP (x6, 0);
          if (GET_MODE (x7) != E_QImode)
            return -1;
          switch (GET_CODE (x7))
            {
            case UNSPEC:
              if (XVECLEN (x7, 0) != 1
                  || XINT (x7, 1) != 160)
                return -1;
              operands[1] = x4;
              if (!register_operand (operands[1], E_DImode))
                return -1;
              x8 = XVECEXP (x7, 0, 0);
              operands[2] = x8;
              if (!register_operand (operands[2], E_DImode)
                  || !
#line 7585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
                return -1;
              return 1126; /* irg */

            case MEM:
              x9 = XEXP (x7, 0);
              if (GET_CODE (x9) != UNSPEC
                  || XVECLEN (x9, 0) != 1
                  || XINT (x9, 1) != 161
                  || GET_MODE (x9) != E_DImode)
                return -1;
              x10 = XVECEXP (x9, 0, 0);
              if (GET_CODE (x10) != AND
                  || GET_MODE (x10) != E_DImode)
                return -1;
              x11 = XEXP (x10, 0);
              if (GET_CODE (x11) != PLUS
                  || GET_MODE (x11) != E_DImode)
                return -1;
              x12 = XEXP (x10, 1);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + -16])
                return -1;
              x13 = XEXP (x11, 0);
              operands[1] = x13;
              if (!register_operand (operands[1], E_DImode))
                return -1;
              x14 = XEXP (x11, 1);
              operands[2] = x14;
              if (!aarch64_granule16_simm9 (operands[2], E_DImode)
                  || !rtx_equal_p (x4, operands[0])
                  || !
#line 7643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
                return -1;
              return 1130; /* ldg */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          x6 = XEXP (x2, 1);
          switch (GET_CODE (x6))
            {
            case AND:
              x7 = XEXP (x6, 0);
              if (GET_CODE (x7) != NOT)
                return -1;
              operands[3] = x4;
              operands[1] = x5;
              x15 = XEXP (x6, 1);
              operands[2] = x15;
              x9 = XEXP (x7, 0);
              if (!rtx_equal_p (x9, operands[3]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16BImode:
                  if (pattern701 (x2, E_VNx16BImode) != 0
                      || !
#line 8392 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8454; /* vcond_mask_vnx16bivnx16bi */

                case E_VNx8BImode:
                  if (pattern701 (x2, E_VNx8BImode) != 0
                      || !
#line 8392 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8455; /* vcond_mask_vnx8bivnx8bi */

                case E_VNx4BImode:
                  if (pattern701 (x2, E_VNx4BImode) != 0
                      || !
#line 8392 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8456; /* vcond_mask_vnx4bivnx4bi */

                case E_VNx2BImode:
                  if (pattern701 (x2, E_VNx2BImode) != 0
                      || !
#line 8392 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8457; /* vcond_mask_vnx2bivnx2bi */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pattern369 (x6) != 0)
                return -1;
              operands[1] = x4;
              switch (pattern688 (x2))
                {
                case 0:
                  x16 = XVECEXP (x6, 0, 1);
                  x17 = XEXP (x16, 0);
                  x18 = XEXP (x17, 0);
                  operands[3] = x18;
                  if (register_operand (operands[3], E_VNx16QImode))
                    {
                      x19 = XEXP (x16, 1);
                      x20 = XEXP (x19, 0);
                      if (rtx_equal_p (x20, operands[1])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9416; /* *aarch64_sve2_bsl2nvnx16qi */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9417; /* *aarch64_sve2_bsl2nvnx16qi */
                    }
                  x19 = XEXP (x16, 1);
                  x20 = XEXP (x19, 0);
                  operands[3] = x20;
                  if (!register_operand (operands[3], E_VNx16QImode))
                    return -1;
                  if (rtx_equal_p (x18, operands[1])
                      && 
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9424; /* *aarch64_sve2_bsl2nvnx16qi */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9425; /* *aarch64_sve2_bsl2nvnx16qi */

                case 1:
                  x16 = XVECEXP (x6, 0, 1);
                  x17 = XEXP (x16, 0);
                  x18 = XEXP (x17, 0);
                  operands[3] = x18;
                  if (register_operand (operands[3], E_VNx8HImode))
                    {
                      x19 = XEXP (x16, 1);
                      x20 = XEXP (x19, 0);
                      if (rtx_equal_p (x20, operands[1])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9418; /* *aarch64_sve2_bsl2nvnx8hi */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9419; /* *aarch64_sve2_bsl2nvnx8hi */
                    }
                  x19 = XEXP (x16, 1);
                  x20 = XEXP (x19, 0);
                  operands[3] = x20;
                  if (!register_operand (operands[3], E_VNx8HImode))
                    return -1;
                  if (rtx_equal_p (x18, operands[1])
                      && 
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9426; /* *aarch64_sve2_bsl2nvnx8hi */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9427; /* *aarch64_sve2_bsl2nvnx8hi */

                case 2:
                  x16 = XVECEXP (x6, 0, 1);
                  x17 = XEXP (x16, 0);
                  x18 = XEXP (x17, 0);
                  operands[3] = x18;
                  if (register_operand (operands[3], E_VNx4SImode))
                    {
                      x19 = XEXP (x16, 1);
                      x20 = XEXP (x19, 0);
                      if (rtx_equal_p (x20, operands[1])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9420; /* *aarch64_sve2_bsl2nvnx4si */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9421; /* *aarch64_sve2_bsl2nvnx4si */
                    }
                  x19 = XEXP (x16, 1);
                  x20 = XEXP (x19, 0);
                  operands[3] = x20;
                  if (!register_operand (operands[3], E_VNx4SImode))
                    return -1;
                  if (rtx_equal_p (x18, operands[1])
                      && 
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9428; /* *aarch64_sve2_bsl2nvnx4si */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9429; /* *aarch64_sve2_bsl2nvnx4si */

                case 3:
                  x16 = XVECEXP (x6, 0, 1);
                  x17 = XEXP (x16, 0);
                  x18 = XEXP (x17, 0);
                  operands[3] = x18;
                  if (register_operand (operands[3], E_VNx2DImode))
                    {
                      x19 = XEXP (x16, 1);
                      x20 = XEXP (x19, 0);
                      if (rtx_equal_p (x20, operands[1])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9422; /* *aarch64_sve2_bsl2nvnx2di */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9423; /* *aarch64_sve2_bsl2nvnx2di */
                    }
                  x19 = XEXP (x16, 1);
                  x20 = XEXP (x19, 0);
                  operands[3] = x20;
                  if (!register_operand (operands[3], E_VNx2DImode))
                    return -1;
                  if (rtx_equal_p (x18, operands[1])
                      && 
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9430; /* *aarch64_sve2_bsl2nvnx2di */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9431; /* *aarch64_sve2_bsl2nvnx2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFT:
      x21 = XEXP (x4, 1);
      if (GET_CODE (x21) != CONST_INT)
        return -1;
      operands[2] = x21;
      res = recog_40 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      if (XWINT (x21, 0) != 8L)
        return -1;
      x6 = XEXP (x2, 1);
      if (GET_CODE (x6) != AND)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != LSHIFTRT)
        return -1;
      x22 = XEXP (x7, 1);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x23 = XEXP (x4, 0);
      operands[1] = x23;
      x5 = XEXP (x3, 1);
      operands[3] = x5;
      x15 = XEXP (x6, 1);
      operands[2] = x15;
      x9 = XEXP (x7, 0);
      if (!rtx_equal_p (x9, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern784 (x2, E_SImode) != 0
              || !
#line 6043 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch_rev16_shleft_mask_imm_p (operands[3], SImode)
   && aarch_rev16_shright_mask_imm_p (operands[2], SImode)))
            return -1;
          return 807; /* rev16si2 */

        case E_DImode:
          if (pattern784 (x2, E_DImode) != 0
              || !
#line 6043 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch_rev16_shleft_mask_imm_p (operands[3], DImode)
   && aarch_rev16_shright_mask_imm_p (operands[2], DImode)))
            return -1;
          return 808; /* rev16di2 */

        default:
          return -1;
        }

    case LSHIFTRT:
      x21 = XEXP (x4, 1);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x6 = XEXP (x2, 1);
      if (GET_CODE (x6) != AND)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != ASHIFT)
        return -1;
      x22 = XEXP (x7, 1);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x23 = XEXP (x4, 0);
      operands[1] = x23;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      x15 = XEXP (x6, 1);
      operands[3] = x15;
      x9 = XEXP (x7, 0);
      if (!rtx_equal_p (x9, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern742 (x2, E_SImode) != 0
              || !
#line 6057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch_rev16_shleft_mask_imm_p (operands[3], SImode)
   && aarch_rev16_shright_mask_imm_p (operands[2], SImode)))
            return -1;
          return 809; /* rev16si2_alt */

        case E_DImode:
          if (pattern742 (x2, E_DImode) != 0
              || !
#line 6057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch_rev16_shleft_mask_imm_p (operands[3], DImode)
   && aarch_rev16_shright_mask_imm_p (operands[2], DImode)))
            return -1;
          return 810; /* rev16di2_alt */

        default:
          return -1;
        }

    case PLUS:
      if (GET_MODE (x4) != E_DImode)
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != CONST_INT
          || XWINT (x5, 0) != -1080863910568919041L)
        return -1;
      x6 = XEXP (x2, 1);
      if (GET_CODE (x6) != ASHIFT
          || GET_MODE (x6) != E_DImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 2
          || XINT (x7, 1) != 159
          || GET_MODE (x7) != E_QImode)
        return -1;
      x8 = XVECEXP (x7, 0, 0);
      if (GET_CODE (x8) != AND
          || GET_MODE (x8) != E_QImode)
        return -1;
      x24 = XEXP (x8, 0);
      if (GET_CODE (x24) != LSHIFTRT
          || GET_MODE (x24) != E_DImode)
        return -1;
      x25 = XEXP (x24, 1);
      if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
        return -1;
      x26 = XEXP (x8, 1);
      if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || pattern503 (x2) != 0)
        return -1;
      x23 = XEXP (x4, 0);
      operands[1] = x23;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x21 = XEXP (x4, 1);
      operands[2] = x21;
      if (!aarch64_granule16_uimm6 (operands[2], E_DImode))
        return -1;
      x27 = XVECEXP (x7, 0, 1);
      operands[3] = x27;
      if (!aarch64_memtag_tag_offset (operands[3], E_QImode))
        return -1;
      x28 = XEXP (x24, 0);
      if (!rtx_equal_p (x28, operands[1])
          || !
#line 7615 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
        return -1;
      return 1128; /* addg */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 2);
  operands[2] = x4;
  if (!const_int_operand (operands[2], E_VOIDmode))
    return -1;
  x5 = XEXP (x1, 1);
  x6 = XEXP (x5, 0);
  operands[3] = x6;
  switch (GET_MODE (x2))
    {
    case E_SImode:
      switch (pattern660 (x5, E_SImode))
        {
        case 0:
          if (!
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 8))
            return -1;
          return 759; /* *aarch64_bfisiqi4 */

        case 1:
          if (!
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 16))
            return -1;
          return 761; /* *aarch64_bfisihi4 */

        case 2:
          if (!
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 32))
            return -1;
          return 763; /* *aarch64_bfisisi4 */

        default:
          return -1;
        }

    case E_DImode:
      switch (pattern660 (x5, E_DImode))
        {
        case 0:
          if (!
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 8))
            return -1;
          return 760; /* *aarch64_bfidiqi4 */

        case 1:
          if (!
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 16))
            return -1;
          return 762; /* *aarch64_bfidihi4 */

        case 2:
          if (!
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 32))
            return -1;
          return 764; /* *aarch64_bfidisi4 */

        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x2) != E_DImode)
    return -1;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  if (!cc_register (operands[2], E_VOIDmode))
    return -1;
  x8 = XEXP (x3, 1);
  operands[3] = x8;
  if (!aarch64_reg_zero_or_m1_or_1 (operands[3], E_SImode))
    return -1;
  x9 = XEXP (x3, 2);
  operands[4] = x9;
  if (!aarch64_reg_zero_or_m1_or_1 (operands[4], E_SImode)
      || !
#line 4153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!((operands[3] == const1_rtx && operands[4] == constm1_rtx)
     || (operands[3] == constm1_rtx && operands[4] == const1_rtx))))
    return -1;
  return 460; /* *cmovsi_insn_uxtw */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (XVECLEN (x4, 0))
    {
    case 1:
      switch (XINT (x4, 1))
        {
        case 34:
          if (GET_MODE (x4) != E_SImode)
            return -1;
          x5 = XVECEXP (x4, 0, 0);
          if (GET_CODE (x5) != MEM
              || GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          if (GET_CODE (x6) != LO_SUM
              || GET_MODE (x6) != E_DImode
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode)
            return -1;
          x7 = XEXP (x6, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], E_DImode))
            return -1;
          x8 = XEXP (x6, 1);
          operands[2] = x8;
          if (!aarch64_valid_symref (operands[2], E_DImode)
              || !
#line 6882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_ILP32))
            return -1;
          return 1029; /* ldr_got_small_28k_sidi */

        case 36:
          if (GET_MODE (x4) != E_SImode
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode)
            return -1;
          x5 = XVECEXP (x4, 0, 0);
          operands[1] = x5;
          if (!aarch64_valid_symref (operands[1], E_DImode)
              || !
#line 6901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_ILP32))
            return -1;
          return 1032; /* ldr_got_tiny_sidi */

        case 35:
          if (pattern290 (x3) != 0)
            return -1;
          return 1038; /* tlsie_small_sidi */

        case 174:
          x5 = XVECEXP (x4, 0, 0);
          operands[1] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              switch (pattern468 (x3, E_SImode))
                {
                case 0:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2376; /* aarch64_zero_extendsi_reduc_plus_v8qi */

                case 1:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2378; /* aarch64_zero_extendsi_reduc_plus_v16qi */

                case 2:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2380; /* aarch64_zero_extendsi_reduc_plus_v4hi */

                case 3:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2382; /* aarch64_zero_extendsi_reduc_plus_v8hi */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern468 (x3, E_DImode))
                {
                case 0:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2377; /* aarch64_zero_extenddi_reduc_plus_v8qi */

                case 1:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2379; /* aarch64_zero_extenddi_reduc_plus_v16qi */

                case 2:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2381; /* aarch64_zero_extenddi_reduc_plus_v4hi */

                case 3:
                  if (!
#line 3422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2383; /* aarch64_zero_extenddi_reduc_plus_v8hi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      if (XINT (x4, 1) != 37
          || pattern290 (x3) != 0)
        return -1;
      x9 = XVECEXP (x4, 0, 1);
      operands[2] = x9;
      if (!register_operand (operands[2], E_DImode))
        return -1;
      return 1041; /* tlsie_tiny_sidi */

    case 3:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      operands[1] = x5;
      x9 = XVECEXP (x4, 0, 1);
      operands[2] = x9;
      x10 = XVECEXP (x4, 0, 2);
      operands[3] = x10;
      switch (XINT (x4, 1))
        {
        case 154:
          if (!const_int_operand (operands[1], E_DImode)
              || !const_int_operand (operands[2], E_DImode)
              || !const_int_operand (operands[3], E_DImode)
              || !
#line 9822 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8975; /* aarch64_sve_cnt_pat */

        case 291:
          if (!aarch64_sve_ptrue_flag (operands[2], E_SImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_VNx16BImode:
              if (!register_operand (operands[1], E_VNx16BImode)
                  || !register_operand (operands[3], E_VNx16BImode)
                  || !
#line 10144 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9006; /* aarch64_pred_cntpvnx16bi */

            case E_VNx8BImode:
              if (!register_operand (operands[1], E_VNx8BImode)
                  || !register_operand (operands[3], E_VNx8BImode)
                  || !
#line 10144 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9007; /* aarch64_pred_cntpvnx8bi */

            case E_VNx4BImode:
              if (!register_operand (operands[1], E_VNx4BImode)
                  || !register_operand (operands[3], E_VNx4BImode)
                  || !
#line 10144 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9008; /* aarch64_pred_cntpvnx4bi */

            case E_VNx2BImode:
              if (!register_operand (operands[1], E_VNx2BImode)
                  || !register_operand (operands[3], E_VNx2BImode)
                  || !
#line 10144 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9009; /* aarch64_pred_cntpvnx2bi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    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, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x2) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case REG:
    case SUBREG:
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[2] = x6;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          operands[1] = x5;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 269; /* *subsi3_uxtw */

        case ASHIFT:
          if (GET_MODE (x6) != E_SImode
              || !register_operand (x5, E_SImode))
            return -1;
          x7 = XEXP (x6, 0);
          switch (GET_CODE (x7))
            {
            case REG:
            case SUBREG:
              operands[1] = x7;
              if (!register_operand (operands[1], E_SImode))
                return -1;
              operands[3] = x5;
              x8 = XEXP (x6, 1);
              operands[2] = x8;
              if (!aarch64_shift_imm_si (operands[2], E_QImode))
                return -1;
              return 296; /* *sub_lsl_si_uxtw */

            case SIGN_EXTEND:
              switch (pattern661 (x3))
                {
                case 0:
                  return 327; /* *sub_extendqi_shft_si_uxtw */

                case 1:
                  return 329; /* *sub_extendhi_shft_si_uxtw */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern661 (x3))
                {
                case 0:
                  return 328; /* *sub_zero_extendqi_shft_si_uxtw */

                case 1:
                  return 330; /* *sub_zero_extendhi_shft_si_uxtw */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case ASHIFTRT:
          if (pattern504 (x3) != 0)
            return -1;
          return 297; /* *sub_asr_si_uxtw */

        case LSHIFTRT:
          if (pattern504 (x3) != 0)
            return -1;
          return 298; /* *sub_lsr_si_uxtw */

        case SIGN_EXTEND:
          switch (pattern505 (x3))
            {
            case 0:
              return 311; /* *sub_extendqi_si_uxtw */

            case 1:
              return 313; /* *sub_extendhi_si_uxtw */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern505 (x3))
            {
            case 0:
              return 312; /* *sub_zero_extendqi_si_uxtw */

            case 1:
              return 314; /* *sub_zero_extendhi_si_uxtw */

            default:
              return -1;
            }

        case GEU:
        case LTU:
          operands[2] = x6;
          if (!aarch64_borrow_operation (operands[2], E_SImode))
            return -1;
          operands[1] = x5;
          if (!aarch64_reg_or_zero (operands[1], E_SImode))
            return -1;
          return 333; /* *subsi3_carryin_uxtw */

        case AND:
          if (GET_MODE (x6) != E_SImode)
            return -1;
          x7 = XEXP (x6, 0);
          if (GET_CODE (x7) != ASHIFT
              || GET_MODE (x7) != E_SImode)
            return -1;
          operands[4] = x5;
          if (!register_operand (operands[4], E_SImode))
            return -1;
          x9 = XEXP (x7, 0);
          operands[1] = x9;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x10 = XEXP (x7, 1);
          operands[2] = x10;
          if (!aarch64_imm3 (operands[2], E_VOIDmode))
            return -1;
          x8 = XEXP (x6, 1);
          operands[3] = x8;
          if (!const_int_operand (operands[3], E_VOIDmode)
              || !
#line 3566 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]),INTVAL (operands[3])) != 0))
            return -1;
          return 352; /* *sub_uxtsi_shift2_uxtw */

        case MULT:
          if (GET_MODE (x6) != E_SImode)
            return -1;
          operands[3] = x5;
          if (!register_operand (operands[3], E_SImode))
            return -1;
          x7 = XEXP (x6, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x8 = XEXP (x6, 1);
          operands[2] = x8;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          return 386; /* *msubsi_uxtw */

        default:
          return -1;
        }

    case MINUS:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x11 = XEXP (x5, 0);
      operands[1] = x11;
      if (!aarch64_reg_or_zero (operands[1], E_SImode))
        return -1;
      x12 = XEXP (x5, 1);
      switch (GET_CODE (x12))
        {
        case REG:
        case SUBREG:
          operands[2] = x12;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          if (!aarch64_borrow_operation (operands[3], E_SImode))
            return -1;
          return 336; /* *subsi3_carryin_uxtw */

        case GEU:
        case LTU:
          operands[3] = x12;
          if (!aarch64_borrow_operation (operands[3], E_SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          return 339; /* *subsi3_carryin_alt_uxtw */

        default:
          return -1;
        }

    case NEG:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x11 = XEXP (x5, 0);
      operands[2] = x11;
      if (!aarch64_borrow_operation (operands[2], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[1] = x6;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      return 358; /* *ngcsi_uxtw */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x2) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      if (!aarch64_logical_operand (operands[2], E_SImode))
        return -1;
      return 507; /* *iorsi3_uxtw */

    case ASHIFT:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x7 = XEXP (x5, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[3] = x6;
          if (!register_operand (operands[3], E_SImode))
            return -1;
          x8 = XEXP (x5, 1);
          operands[2] = x8;
          if (!aarch64_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 555; /* *ior_ashlsi3_uxtw */

        case LSHIFTRT:
          if (GET_MODE (x6) != E_SImode)
            return -1;
          x8 = XEXP (x5, 1);
          operands[3] = x8;
          if (!const_int_operand (operands[3], E_VOIDmode))
            return -1;
          x9 = XEXP (x6, 0);
          operands[2] = x9;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          x10 = XEXP (x6, 1);
          operands[4] = x10;
          if (!const_int_operand (operands[4], E_VOIDmode)
              || !
#line 5530 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < 32 &&
   (UINTVAL (operands[3]) + UINTVAL (operands[4]) == 32)))
            return -1;
          return 731; /* *extrsi5_insn_uxtw */

        default:
          return -1;
        }

    case ASHIFTRT:
      if (pattern465 (x3) != 0)
        return -1;
      return 558; /* *ior_ashrsi3_uxtw */

    case LSHIFTRT:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x7 = XEXP (x5, 0);
      if (!register_operand (x7, E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[3] = x6;
          if (!register_operand (operands[3], E_SImode))
            return -1;
          operands[1] = x7;
          x8 = XEXP (x5, 1);
          operands[2] = x8;
          if (!aarch64_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 561; /* *ior_lshrsi3_uxtw */

        case ASHIFT:
          if (GET_MODE (x6) != E_SImode)
            return -1;
          operands[2] = x7;
          x8 = XEXP (x5, 1);
          operands[4] = x8;
          if (!const_int_operand (operands[4], E_VOIDmode))
            return -1;
          x9 = XEXP (x6, 0);
          operands[1] = x9;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x10 = XEXP (x6, 1);
          operands[3] = x10;
          if (!const_int_operand (operands[3], E_VOIDmode)
              || !
#line 5543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < 32 &&
   (UINTVAL (operands[3]) + UINTVAL (operands[4]) == 32)))
            return -1;
          return 732; /* *extrsi5_insn_uxtw_alt */

        default:
          return -1;
        }

    case ROTATERT:
      if (pattern465 (x3) != 0)
        return -1;
      return 564; /* *ior_rotrsi3_uxtw */

    case ROTATE:
      if (pattern465 (x3) != 0)
        return -1;
      return 567; /* *ior_rolsi3_uxtw */

    case NOT:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x7 = XEXP (x5, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      if (!register_operand (operands[2], E_SImode))
        return -1;
      return 585; /* *ior_one_cmplsidi3_ze */

    case AND:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x6 = XEXP (x3, 1);
      if (GET_CODE (x6) != AND
          || GET_MODE (x6) != E_SImode)
        return -1;
      x7 = XEXP (x5, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x8 = XEXP (x5, 1);
      operands[3] = x8;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      x9 = XEXP (x6, 0);
      operands[2] = x9;
      if (!register_operand (operands[2], E_SImode))
        return -1;
      x10 = XEXP (x6, 1);
      operands[4] = x10;
      if (!const_int_operand (operands[4], E_SImode)
          || !
#line 6012 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((INTVAL (operands[3]) == ~INTVAL (operands[4]))
  && (aarch64_high_bits_all_ones_p (INTVAL (operands[3]))
    || aarch64_high_bits_all_ones_p (INTVAL (operands[4])))))
        return -1;
      return 806; /* *aarch64_bfxilsi_uxtw */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_DImode:
          switch (pattern284 (x3))
            {
            case 0:
              return 111; /* *zero_extendsidi2_aarch64 */

            case 1:
              return 119; /* *zero_extendqidi2_aarch64 */

            case 2:
              return 120; /* *zero_extendhidi2_aarch64 */

            default:
              return -1;
            }

        case E_SImode:
          switch (pattern285 (x3))
            {
            case 0:
              return 117; /* *zero_extendqisi2_aarch64 */

            case 1:
              return 118; /* *zero_extendhisi2_aarch64 */

            default:
              return -1;
            }

        case E_HImode:
          if (!register_operand (operands[0], E_HImode)
              || GET_MODE (x3) != E_HImode
              || !nonimmediate_operand (operands[1], E_QImode))
            return -1;
          return 122; /* *zero_extendqihi2_aarch64 */

        case E_TImode:
          if (!register_operand (operands[0], E_TImode)
              || GET_MODE (x3) != E_TImode
              || !register_operand (operands[1], E_DImode)
              || !
#line 6818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1022; /* aarch64_movtilow_di */

        case E_TFmode:
          if (!register_operand (operands[0], E_TFmode)
              || GET_MODE (x3) != E_TFmode
              || !register_operand (operands[1], E_DImode)
              || !
#line 6818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1023; /* aarch64_movtflow_di */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 8948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4296; /* zero_extendv8qiv8hi2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 8948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4298; /* zero_extendv4hiv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 8948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4300; /* zero_extendv2siv2di2 */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      x5 = XEXP (x2, 1);
      if (GET_CODE (x5) != CONST_INT)
        return -1;
      operands[1] = x5;
      if (const_int_operand (operands[1], E_VOIDmode))
        {
          res = recog_42 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      if (XWINT (x5, 0) != 64L)
        return -1;
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 64])
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      switch (GET_MODE (x2))
        {
        case E_TImode:
          if (!register_operand (operands[0], E_TImode)
              || GET_MODE (x3) != E_TImode
              || !
#line 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1020; /* aarch64_movtihigh_di */

        case E_TFmode:
          if (!register_operand (operands[0], E_TFmode)
              || GET_MODE (x3) != E_TFmode
              || !
#line 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1021; /* aarch64_movtfhigh_di */

        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, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != E_SImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], E_DImode)
      || GET_MODE (x2) != E_DImode)
    return -1;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      if (!aarch64_pluslong_operand (operands[2], E_SImode))
        return -1;
      return 125; /* *addsi3_aarch64_uxtw */

    case ASHIFT:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      x6 = XEXP (x3, 1);
      operands[3] = x6;
      if (!register_operand (operands[3], E_SImode))
        return -1;
      x8 = XEXP (x5, 0);
      switch (GET_CODE (x8))
        {
        case REG:
        case SUBREG:
          operands[1] = x8;
          if (!register_operand (operands[1], E_SImode)
              || !aarch64_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 215; /* *add_lsl_si_uxtw */

        case SIGN_EXTEND:
          switch (pattern704 (x8))
            {
            case 0:
              return 250; /* *add_extendqi_shft_si_uxtw */

            case 1:
              return 252; /* *add_extendhi_shft_si_uxtw */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern704 (x8))
            {
            case 0:
              return 251; /* *add_zero_extendqi_shft_si_uxtw */

            case 1:
              return 253; /* *add_zero_extendhi_shft_si_uxtw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      if (pattern465 (x3) != 0)
        return -1;
      return 216; /* *add_asr_si_uxtw */

    case LSHIFTRT:
      if (pattern465 (x3) != 0)
        return -1;
      return 217; /* *add_lsr_si_uxtw */

    case SIGN_EXTEND:
      switch (pattern467 (x3))
        {
        case 0:
          return 230; /* *add_extendqi_si_uxtw */

        case 1:
          return 234; /* *add_extendqi_si_uxtw */

        case 2:
          return 232; /* *add_extendhi_si_uxtw */

        case 3:
          return 236; /* *add_extendhi_si_uxtw */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern467 (x3))
        {
        case 0:
          return 231; /* *add_zero_extendqi_si_uxtw */

        case 1:
          return 235; /* *add_zero_extendqi_si_uxtw */

        case 2:
          return 233; /* *add_zero_extendhi_si_uxtw */

        case 3:
          return 237; /* *add_zero_extendhi_si_uxtw */

        default:
          return -1;
        }

    case PLUS:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x8 = XEXP (x5, 0);
      operands[3] = x8;
      if (!aarch64_carry_operation (operands[3], E_SImode))
        return -1;
      x7 = XEXP (x5, 1);
      operands[1] = x7;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      if (!register_operand (operands[2], E_SImode))
        return -1;
      return 256; /* *addsi3_carryin_uxtw */

    case AND:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x8 = XEXP (x5, 0);
      if (GET_CODE (x8) != ASHIFT
          || GET_MODE (x8) != E_SImode)
        return -1;
      x9 = XEXP (x8, 0);
      operands[1] = x9;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x10 = XEXP (x8, 1);
      operands[2] = x10;
      if (!aarch64_imm3 (operands[2], E_VOIDmode))
        return -1;
      x7 = XEXP (x5, 1);
      operands[3] = x7;
      if (!const_int_operand (operands[3], E_VOIDmode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[4] = x6;
      if (!register_operand (operands[4], E_SImode)
          || !
#line 2862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0))
        return -1;
      return 267; /* *add_uxtsi_shift2_uxtw */

    case MULT:
      if (GET_MODE (x5) != E_SImode)
        return -1;
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      if (!register_operand (operands[2], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[3] = x6;
      if (!register_operand (operands[3], E_SImode))
        return -1;
      return 383; /* *maddsi_uxtw */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (XVECLEN (x3, 0))
    {
    case 2:
      switch (XINT (x3, 1))
        {
        case 263:
          switch (pattern293 (x2))
            {
            case 0:
              if (!
#line 619 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1517; /* sdot_prodv8qi */

            case 1:
              if (!
#line 619 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1519; /* sdot_prodv16qi */

            case 2:
              if (!
#line 6864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7394; /* sdot_prodvnx16qi */

            case 3:
              if (!
#line 6864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7396; /* sdot_prodvnx8hi */

            case 4:
              if (!
#line 6883 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7398; /* aarch64_sdot_prod_lanevnx16qi */

            case 5:
              if (!
#line 6883 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7400; /* aarch64_sdot_prod_lanevnx8hi */

            default:
              return -1;
            }

        case 264:
          switch (pattern293 (x2))
            {
            case 0:
              if (!
#line 619 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1518; /* udot_prodv8qi */

            case 1:
              if (!
#line 619 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1520; /* udot_prodv16qi */

            case 2:
              if (!
#line 6864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7395; /* udot_prodvnx16qi */

            case 3:
              if (!
#line 6864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7397; /* udot_prodvnx8hi */

            case 4:
              if (!
#line 6883 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7399; /* aarch64_udot_prod_lanevnx16qi */

            case 5:
              if (!
#line 6883 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7401; /* aarch64_udot_prod_lanevnx8hi */

            default:
              return -1;
            }

        case 520:
          x4 = XVECEXP (x3, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x3, 0, 1);
          switch (GET_CODE (x5))
            {
            case REG:
            case SUBREG:
              operands[2] = x5;
              x6 = XEXP (x2, 1);
              operands[3] = x6;
              switch (GET_MODE (operands[0]))
                {
                case E_V2SImode:
                  if (pattern291 (x2, E_V2SImode, E_V8QImode) != 0
                      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                    return -1;
                  return 1521; /* usdot_prodv8qi */

                case E_V4SImode:
                  if (pattern291 (x2, E_V4SImode, E_V16QImode) != 0
                      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                    return -1;
                  return 1522; /* usdot_prodv16qi */

                case E_VNx4SImode:
                  if (pattern291 (x2, E_VNx4SImode, E_VNx16QImode) != 0
                      || !
#line 6898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                    return -1;
                  return 7402; /* usdot_prodvnx16qi */

                default:
                  return -1;
                }

            case UNSPEC:
              if (XVECLEN (x5, 0) != 2
                  || XINT (x5, 1) != 153
                  || GET_MODE (x5) != E_VNx16QImode
                  || !register_operand (operands[0], E_VNx4SImode)
                  || GET_MODE (x2) != E_VNx4SImode
                  || GET_MODE (x3) != E_VNx4SImode
                  || pattern744 (x2) != 0
                  || !
#line 6916 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7403; /* aarch64_usdot_prod_lanevnx16qi */

            default:
              return -1;
            }

        case 522:
          x4 = XVECEXP (x3, 0, 0);
          operands[2] = x4;
          x5 = XVECEXP (x3, 0, 1);
          operands[3] = x5;
          x6 = XEXP (x2, 1);
          operands[1] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V2SFmode:
              if (pattern295 (x2, E_V2SFmode, E_V4BFmode) != 0
                  || !
#line 8977 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4304; /* aarch64_bfdotv2sf */

            case E_V4SFmode:
              if (pattern295 (x2, E_V4SFmode, E_V8BFmode) != 0
                  || !
#line 8977 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4305; /* aarch64_bfdotv4sf */

            default:
              return -1;
            }

        case 313:
          switch (pattern296 (x2))
            {
            case 0:
              if (!
#line 9068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 4317; /* aarch64_simd_smmlav16qi */

            case 1:
              if (!
#line 6970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7405; /* aarch64_sve_add_smatmulvnx16qi */

            default:
              return -1;
            }

        case 314:
          switch (pattern296 (x2))
            {
            case 0:
              if (!
#line 9068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 4318; /* aarch64_simd_ummlav16qi */

            case 1:
              if (!
#line 6970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7406; /* aarch64_sve_add_umatmulvnx16qi */

            default:
              return -1;
            }

        case 315:
          switch (pattern296 (x2))
            {
            case 0:
              if (!
#line 9068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 4319; /* aarch64_simd_usmmlav16qi */

            case 1:
              if (!
#line 6970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7407; /* aarch64_sve_add_usmatmulvnx16qi */

            default:
              return -1;
            }

        case 118:
          x5 = XVECEXP (x3, 0, 1);
          switch (GET_CODE (x5))
            {
            case ASHIFT:
              x7 = XEXP (x5, 1);
              operands[3] = x7;
              x6 = XEXP (x2, 1);
              operands[1] = x6;
              switch (pattern507 (x2))
                {
                case 0:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6397; /* *aarch64_adrvnx2qi_shift */

                case 1:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6398; /* *aarch64_adrvnx2hi_shift */

                case 2:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6399; /* *aarch64_adrvnx2si_shift */

                case 3:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6400; /* *aarch64_adrvnx2di_shift */

                case 4:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6401; /* *aarch64_adrvnx4qi_shift */

                case 5:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6402; /* *aarch64_adrvnx4hi_shift */

                case 6:
                  if (!
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6403; /* *aarch64_adrvnx4si_shift */

                case 7:
                  if (!
#line 3937 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6404; /* *aarch64_adr_shift_sxtw */

                case 8:
                  if (!
#line 3958 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6405; /* *aarch64_adr_shift_uxtw */

                default:
                  return -1;
                }

            case MULT:
              x4 = XVECEXP (x3, 0, 0);
              operands[1] = x4;
              x8 = XEXP (x5, 0);
              operands[2] = x8;
              x7 = XEXP (x5, 1);
              operands[3] = x7;
              x6 = XEXP (x2, 1);
              operands[4] = x6;
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16QImode:
                  if (pattern665 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7314; /* aarch64_pred_fmavnx16qi */

                case E_VNx8QImode:
                  if (pattern665 (x2, E_VNx8QImode, E_VNx8BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7315; /* aarch64_pred_fmavnx8qi */

                case E_VNx4QImode:
                  if (pattern665 (x2, E_VNx4QImode, E_VNx4BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7316; /* aarch64_pred_fmavnx4qi */

                case E_VNx2QImode:
                  if (pattern665 (x2, E_VNx2QImode, E_VNx2BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7317; /* aarch64_pred_fmavnx2qi */

                case E_VNx8HImode:
                  if (pattern665 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7318; /* aarch64_pred_fmavnx8hi */

                case E_VNx4HImode:
                  if (pattern665 (x2, E_VNx4HImode, E_VNx4BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7319; /* aarch64_pred_fmavnx4hi */

                case E_VNx2HImode:
                  if (pattern665 (x2, E_VNx2HImode, E_VNx2BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7320; /* aarch64_pred_fmavnx2hi */

                case E_VNx4SImode:
                  if (pattern665 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7321; /* aarch64_pred_fmavnx4si */

                case E_VNx2SImode:
                  if (pattern665 (x2, E_VNx2SImode, E_VNx2BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7322; /* aarch64_pred_fmavnx2si */

                case E_VNx2DImode:
                  if (pattern665 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 6600 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7323; /* aarch64_pred_fmavnx2di */

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern388 (x2))
                {
                case 0:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9432; /* *aarch64_sve2_sravnx16qi */

                case 1:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9434; /* *aarch64_sve2_sravnx8hi */

                case 2:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9436; /* *aarch64_sve2_sravnx4si */

                case 3:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9438; /* *aarch64_sve2_sravnx2di */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern388 (x2))
                {
                case 0:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9433; /* *aarch64_sve2_sravnx16qi */

                case 1:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9435; /* *aarch64_sve2_sravnx8hi */

                case 2:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9437; /* *aarch64_sve2_sravnx4si */

                case 3:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9439; /* *aarch64_sve2_sravnx2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 521:
          if (GET_MODE (x3) != E_VNx4SImode)
            return -1;
          x5 = XVECEXP (x3, 0, 1);
          if (GET_CODE (x5) != UNSPEC
              || XVECLEN (x5, 0) != 2
              || XINT (x5, 1) != 153
              || GET_MODE (x5) != E_VNx16QImode
              || !register_operand (operands[0], E_VNx4SImode)
              || GET_MODE (x2) != E_VNx4SImode)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          operands[1] = x4;
          if (pattern744 (x2) != 0
              || !
#line 6916 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
            return -1;
          return 7404; /* aarch64_sudot_prod_lanevnx16qi */

        case 202:
          switch (pattern298 (x2))
            {
            case 0:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9440; /* aarch64_sve_add_srshrvnx16qi */

            case 1:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9442; /* aarch64_sve_add_srshrvnx8hi */

            case 2:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9444; /* aarch64_sve_add_srshrvnx4si */

            case 3:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9446; /* aarch64_sve_add_srshrvnx2di */

            default:
              return -1;
            }

        case 203:
          switch (pattern298 (x2))
            {
            case 0:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9441; /* aarch64_sve_add_urshrvnx16qi */

            case 1:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9443; /* aarch64_sve_add_urshrvnx8hi */

            case 2:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9445; /* aarch64_sve_add_urshrvnx4si */

            case 3:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9447; /* aarch64_sve_add_urshrvnx2di */

            default:
              return -1;
            }

        case 445:
          switch (pattern299 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9575; /* aarch64_sve_add_sabdlbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9583; /* aarch64_sve_add_sabdlbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9591; /* aarch64_sve_add_sabdlbvnx2di */

            default:
              return -1;
            }

        case 446:
          switch (pattern299 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9576; /* aarch64_sve_add_sabdltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9584; /* aarch64_sve_add_sabdltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9592; /* aarch64_sve_add_sabdltvnx2di */

            default:
              return -1;
            }

        case 461:
          switch (pattern302 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9577; /* aarch64_sve_add_smullbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9585; /* aarch64_sve_add_smullbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9593; /* aarch64_sve_add_smullbvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9599; /* aarch64_sve_add_smullb_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9603; /* aarch64_sve_add_smullb_lane_vnx2di */

            default:
              return -1;
            }

        case 462:
          switch (pattern302 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9578; /* aarch64_sve_add_smulltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9586; /* aarch64_sve_add_smulltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9594; /* aarch64_sve_add_smulltvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9600; /* aarch64_sve_add_smullt_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9604; /* aarch64_sve_add_smullt_lane_vnx2di */

            default:
              return -1;
            }

        case 496:
          switch (pattern299 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9579; /* aarch64_sve_add_uabdlbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9587; /* aarch64_sve_add_uabdlbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9595; /* aarch64_sve_add_uabdlbvnx2di */

            default:
              return -1;
            }

        case 497:
          switch (pattern299 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9580; /* aarch64_sve_add_uabdltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9588; /* aarch64_sve_add_uabdltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9596; /* aarch64_sve_add_uabdltvnx2di */

            default:
              return -1;
            }

        case 506:
          switch (pattern302 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9581; /* aarch64_sve_add_umullbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9589; /* aarch64_sve_add_umullbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9597; /* aarch64_sve_add_umullbvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9601; /* aarch64_sve_add_umullb_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9605; /* aarch64_sve_add_umullb_lane_vnx2di */

            default:
              return -1;
            }

        case 507:
          switch (pattern302 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9582; /* aarch64_sve_add_umulltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9590; /* aarch64_sve_add_umulltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9598; /* aarch64_sve_add_umulltvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9602; /* aarch64_sve_add_umullt_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9606; /* aarch64_sve_add_umullt_lane_vnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      x6 = XEXP (x2, 1);
      operands[1] = x6;
      switch (XINT (x3, 1))
        {
        case 263:
          switch (pattern390 (x2))
            {
            case 0:
              if (!
#line 648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1523; /* aarch64_sdot_lanev8qi */

            case 1:
              if (!
#line 664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1527; /* aarch64_sdot_laneqv8qi */

            case 2:
              if (!
#line 648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1525; /* aarch64_sdot_lanev16qi */

            case 3:
              if (!
#line 664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1529; /* aarch64_sdot_laneqv16qi */

            default:
              return -1;
            }

        case 264:
          switch (pattern390 (x2))
            {
            case 0:
              if (!
#line 648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1524; /* aarch64_udot_lanev8qi */

            case 1:
              if (!
#line 664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1528; /* aarch64_udot_laneqv8qi */

            case 2:
              if (!
#line 648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1526; /* aarch64_udot_lanev16qi */

            case 3:
              if (!
#line 664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1530; /* aarch64_udot_laneqv16qi */

            default:
              return -1;
            }

        case 520:
          switch (pattern390 (x2))
            {
            case 0:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1531; /* aarch64_usdot_lanev8qi */

            case 1:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1535; /* aarch64_usdot_laneqv8qi */

            case 2:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1533; /* aarch64_usdot_lanev16qi */

            case 3:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1537; /* aarch64_usdot_laneqv16qi */

            default:
              return -1;
            }

        case 521:
          switch (pattern390 (x2))
            {
            case 0:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1532; /* aarch64_sudot_lanev8qi */

            case 1:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1536; /* aarch64_sudot_laneqv8qi */

            case 2:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1534; /* aarch64_sudot_lanev16qi */

            case 3:
              if (!
#line 682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1538; /* aarch64_sudot_laneqv16qi */

            default:
              return -1;
            }

        case 522:
          x4 = XVECEXP (x3, 0, 0);
          operands[2] = x4;
          x5 = XVECEXP (x3, 0, 1);
          operands[3] = x5;
          x9 = XVECEXP (x3, 0, 2);
          operands[4] = x9;
          if (!const_int_operand (operands[4], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_V2SFmode:
              switch (pattern666 (x2, E_V2SFmode, E_V4BFmode))
                {
                case 0:
                  if (!
#line 8991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4306; /* aarch64_bfdot_lanev2sf */

                case 1:
                  if (!
#line 8991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4307; /* aarch64_bfdot_laneqv2sf */

                default:
                  return -1;
                }

            case E_V4SFmode:
              switch (pattern666 (x2, E_V4SFmode, E_V8BFmode))
                {
                case 0:
                  if (!
#line 8991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4308; /* aarch64_bfdot_lanev4sf */

                case 1:
                  if (!
#line 8991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4309; /* aarch64_bfdot_laneqv4sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 154:
          if (GET_MODE (x3) != E_SImode
              || !register_operand (operands[0], E_SImode)
              || GET_MODE (x2) != E_SImode)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          operands[2] = x4;
          if (!const_int_operand (operands[2], E_DImode))
            return -1;
          x5 = XVECEXP (x3, 0, 1);
          operands[3] = x5;
          if (!const_int_operand (operands[3], E_DImode))
            return -1;
          x9 = XVECEXP (x3, 0, 2);
          operands[4] = x9;
          if (!const_int_operand (operands[4], E_DImode)
              || !register_operand (operands[1], E_SImode)
              || !
#line 9864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8979; /* *aarch64_sve_incsi_pat */

        case 291:
          switch (pattern391 (x2))
            {
            case 0:
              if (!
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9022; /* *aarch64_incsivnx16bi_cntp */

            case 1:
              if (!
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9023; /* *aarch64_incsivnx8bi_cntp */

            case 2:
              if (!
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9024; /* *aarch64_incsivnx4bi_cntp */

            case 3:
              if (!
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9025; /* *aarch64_incsivnx2bi_cntp */

            default:
              return -1;
            }

        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, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  switch (GET_CODE (x4))
    {
    case CONST_INT:
    case CONST_POLY_INT:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
      operands[2] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x2) != E_SImode
              || !register_operand (operands[1], E_SImode))
            return -1;
          if (aarch64_pluslong_operand (operands[2], E_SImode))
            return 123; /* *addsi3_aarch64 */
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_SImode)
              || !
#line 2175 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx))
            return -1;
          return 126; /* *addsi3_poly_1 */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x2) != E_DImode
              || !register_operand (operands[1], E_DImode))
            return -1;
          if (aarch64_pluslong_operand (operands[2], E_DImode))
            return 124; /* *adddi3_aarch64 */
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_DImode)
              || !
#line 2175 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx))
            return -1;
          return 127; /* *adddi3_poly_1 */

        case E_HFmode:
          if (pattern13 (x2, E_HFmode) != 0
              || !(
#line 6504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 973; /* addhf3 */

        case E_SFmode:
          if (pattern13 (x2, E_SFmode) != 0
              || !
#line 6504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 974; /* addsf3 */

        case E_DFmode:
          if (pattern13 (x2, E_DFmode) != 0
              || !
#line 6504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 975; /* adddf3 */

        case E_V8QImode:
          if (pattern13 (x2, E_V8QImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1428; /* addv8qi3 */

        case E_V16QImode:
          if (pattern13 (x2, E_V16QImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1429; /* addv16qi3 */

        case E_V4HImode:
          if (pattern13 (x2, E_V4HImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1430; /* addv4hi3 */

        case E_V8HImode:
          if (pattern13 (x2, E_V8HImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1431; /* addv8hi3 */

        case E_V2SImode:
          if (pattern13 (x2, E_V2SImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1432; /* addv2si3 */

        case E_V4SImode:
          if (pattern13 (x2, E_V4SImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1433; /* addv4si3 */

        case E_V2DImode:
          if (pattern13 (x2, E_V2DImode) != 0
              || !
#line 387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1434; /* addv2di3 */

        case E_V4HFmode:
          if (pattern13 (x2, E_V4HFmode) != 0
              || !(
#line 2664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2113; /* addv4hf3 */

        case E_V8HFmode:
          if (pattern13 (x2, E_V8HFmode) != 0
              || !(
#line 2664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2114; /* addv8hf3 */

        case E_V2SFmode:
          if (pattern13 (x2, E_V2SFmode) != 0
              || !
#line 2664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2115; /* addv2sf3 */

        case E_V4SFmode:
          if (pattern13 (x2, E_V4SFmode) != 0
              || !
#line 2664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2116; /* addv4sf3 */

        case E_V2DFmode:
          if (pattern13 (x2, E_V2DFmode) != 0
              || !
#line 2664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2117; /* addv2df3 */

        case E_VNx16QImode:
          if (pattern469 (x2, E_VNx16QImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6372; /* addvnx16qi3 */

        case E_VNx8QImode:
          if (pattern469 (x2, E_VNx8QImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6373; /* addvnx8qi3 */

        case E_VNx4QImode:
          if (pattern469 (x2, E_VNx4QImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6374; /* addvnx4qi3 */

        case E_VNx2QImode:
          if (pattern469 (x2, E_VNx2QImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6375; /* addvnx2qi3 */

        case E_VNx8HImode:
          if (pattern469 (x2, E_VNx8HImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6376; /* addvnx8hi3 */

        case E_VNx4HImode:
          if (pattern469 (x2, E_VNx4HImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6377; /* addvnx4hi3 */

        case E_VNx2HImode:
          if (pattern469 (x2, E_VNx2HImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6378; /* addvnx2hi3 */

        case E_VNx4SImode:
          if (pattern469 (x2, E_VNx4SImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6379; /* addvnx4si3 */

        case E_VNx2SImode:
          if (pattern469 (x2, E_VNx2SImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6380; /* addvnx2si3 */

        case E_VNx2DImode:
          if (pattern469 (x2, E_VNx2DImode) != 0
              || !
#line 3786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6381; /* addvnx2di3 */

        case E_VNx8HFmode:
          if (pattern13 (x2, E_VNx8HFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6872; /* *post_ra_faddvnx8hf3 */

        case E_VNx4SFmode:
          if (pattern13 (x2, E_VNx4SFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6875; /* *post_ra_faddvnx4sf3 */

        case E_VNx2DFmode:
          if (pattern13 (x2, E_VNx2DFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6878; /* *post_ra_faddvnx2df3 */

        default:
          return -1;
        }

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 2:
          x5 = XVECEXP (x4, 0, 0);
          operands[2] = x5;
          x6 = XVECEXP (x4, 0, 1);
          operands[3] = x6;
          switch (XINT (x4, 1))
            {
            case 385:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern622 (x2, E_V4HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1465; /* aarch64_fcmla0v4hf */

                case E_V8HFmode:
                  if (pattern622 (x2, E_V8HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1469; /* aarch64_fcmla0v8hf */

                case E_V2SFmode:
                  if (pattern622 (x2, E_V2SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1473; /* aarch64_fcmla0v2sf */

                case E_V4SFmode:
                  if (pattern622 (x2, E_V4SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1477; /* aarch64_fcmla0v4sf */

                case E_V2DFmode:
                  if (pattern622 (x2, E_V2DFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1481; /* aarch64_fcmla0v2df */

                default:
                  return -1;
                }

            case 386:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern622 (x2, E_V4HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1466; /* aarch64_fcmla90v4hf */

                case E_V8HFmode:
                  if (pattern622 (x2, E_V8HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1470; /* aarch64_fcmla90v8hf */

                case E_V2SFmode:
                  if (pattern622 (x2, E_V2SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1474; /* aarch64_fcmla90v2sf */

                case E_V4SFmode:
                  if (pattern622 (x2, E_V4SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1478; /* aarch64_fcmla90v4sf */

                case E_V2DFmode:
                  if (pattern622 (x2, E_V2DFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1482; /* aarch64_fcmla90v2df */

                default:
                  return -1;
                }

            case 387:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern622 (x2, E_V4HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1467; /* aarch64_fcmla180v4hf */

                case E_V8HFmode:
                  if (pattern622 (x2, E_V8HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1471; /* aarch64_fcmla180v8hf */

                case E_V2SFmode:
                  if (pattern622 (x2, E_V2SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1475; /* aarch64_fcmla180v2sf */

                case E_V4SFmode:
                  if (pattern622 (x2, E_V4SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1479; /* aarch64_fcmla180v4sf */

                case E_V2DFmode:
                  if (pattern622 (x2, E_V2DFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1483; /* aarch64_fcmla180v2df */

                default:
                  return -1;
                }

            case 388:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern622 (x2, E_V4HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1468; /* aarch64_fcmla270v4hf */

                case E_V8HFmode:
                  if (pattern622 (x2, E_V8HFmode) != 0
                      || !(
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1472; /* aarch64_fcmla270v8hf */

                case E_V2SFmode:
                  if (pattern622 (x2, E_V2SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1476; /* aarch64_fcmla270v2sf */

                case E_V4SFmode:
                  if (pattern622 (x2, E_V4SFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1480; /* aarch64_fcmla270v4sf */

                case E_V2DFmode:
                  if (pattern622 (x2, E_V2DFmode) != 0
                      || !
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1484; /* aarch64_fcmla270v2df */

                default:
                  return -1;
                }

            case 525:
              if (pattern562 (x2) != 0
                  || !
#line 9029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4310; /* aarch64_bfmmlaqv4sf */

            case 523:
              if (pattern562 (x2) != 0
                  || !
#line 9041 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4311; /* aarch64_bfmlalbv4sf */

            case 524:
              if (pattern562 (x2) != 0
                  || !
#line 9041 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4312; /* aarch64_bfmlaltv4sf */

            default:
              return -1;
            }

        case 3:
          x5 = XVECEXP (x4, 0, 0);
          operands[2] = x5;
          x6 = XVECEXP (x4, 0, 1);
          operands[3] = x6;
          x7 = XVECEXP (x4, 0, 2);
          operands[4] = x7;
          if (!const_int_operand (operands[4], E_SImode))
            return -1;
          switch (XINT (x4, 1))
            {
            case 385:
              switch (pattern662 (x2))
                {
                case 0:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1485; /* aarch64_fcmla_lane0v4hf */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1505; /* aarch64_fcmla_laneq0v4hf */

                case 2:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1489; /* aarch64_fcmla_lane0v8hf */

                case 3:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1509; /* aarch64_fcmlaq_lane0v8hf */

                case 4:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1493; /* aarch64_fcmla_lane0v2sf */

                case 5:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1497; /* aarch64_fcmla_lane0v4sf */

                case 6:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1513; /* aarch64_fcmlaq_lane0v4sf */

                case 7:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1501; /* aarch64_fcmla_lane0v2df */

                default:
                  return -1;
                }

            case 386:
              switch (pattern662 (x2))
                {
                case 0:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1486; /* aarch64_fcmla_lane90v4hf */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1506; /* aarch64_fcmla_laneq90v4hf */

                case 2:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1490; /* aarch64_fcmla_lane90v8hf */

                case 3:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1510; /* aarch64_fcmlaq_lane90v8hf */

                case 4:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1494; /* aarch64_fcmla_lane90v2sf */

                case 5:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1498; /* aarch64_fcmla_lane90v4sf */

                case 6:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1514; /* aarch64_fcmlaq_lane90v4sf */

                case 7:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1502; /* aarch64_fcmla_lane90v2df */

                default:
                  return -1;
                }

            case 387:
              switch (pattern662 (x2))
                {
                case 0:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1487; /* aarch64_fcmla_lane180v4hf */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1507; /* aarch64_fcmla_laneq180v4hf */

                case 2:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1491; /* aarch64_fcmla_lane180v8hf */

                case 3:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1511; /* aarch64_fcmlaq_lane180v8hf */

                case 4:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1495; /* aarch64_fcmla_lane180v2sf */

                case 5:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1499; /* aarch64_fcmla_lane180v4sf */

                case 6:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1515; /* aarch64_fcmlaq_lane180v4sf */

                case 7:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1503; /* aarch64_fcmla_lane180v2df */

                default:
                  return -1;
                }

            case 388:
              switch (pattern662 (x2))
                {
                case 0:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1488; /* aarch64_fcmla_lane270v4hf */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1508; /* aarch64_fcmla_laneq270v4hf */

                case 2:
                  if (!(
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1492; /* aarch64_fcmla_lane270v8hf */

                case 3:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1512; /* aarch64_fcmlaq_lane270v8hf */

                case 4:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1496; /* aarch64_fcmla_lane270v2sf */

                case 5:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1500; /* aarch64_fcmla_lane270v4sf */

                case 6:
                  if (!
#line 543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1516; /* aarch64_fcmlaq_lane270v4sf */

                case 7:
                  if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1504; /* aarch64_fcmla_lane270v2df */

                default:
                  return -1;
                }

            case 523:
              switch (pattern663 (x2))
                {
                case 0:
                  if (!
#line 9053 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4313; /* aarch64_bfmlalb_lanev4sf */

                case 1:
                  if (!
#line 9053 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4315; /* aarch64_bfmlalb_lane_qv4sf */

                default:
                  return -1;
                }

            case 524:
              switch (pattern663 (x2))
                {
                case 0:
                  if (!
#line 9053 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4314; /* aarch64_bfmlalt_lanev4sf */

                case 1:
                  if (!
#line 9053 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4316; /* aarch64_bfmlalt_lane_qv4sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -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, x8, x9;
  rtx x10, x11, x12;
  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 (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern260 (x2, E_SImode) != 0)
            return -1;
          return 381; /* maddsi */

        case E_DImode:
          if (pattern260 (x2, E_DImode) != 0)
            return -1;
          return 382; /* madddi */

        case E_V8QImode:
          if (pattern259 (x2, E_V8QImode) != 0
              || !
#line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1802; /* aarch64_mlav8qi */

        case E_V16QImode:
          if (pattern259 (x2, E_V16QImode) != 0
              || !
#line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1803; /* aarch64_mlav16qi */

        case E_V4HImode:
          if (pattern259 (x2, E_V4HImode) != 0
              || !
#line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1804; /* aarch64_mlav4hi */

        case E_V8HImode:
          if (pattern259 (x2, E_V8HImode) != 0
              || !
#line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1805; /* aarch64_mlav8hi */

        case E_V2SImode:
          if (pattern259 (x2, E_V2SImode) != 0
              || !
#line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1806; /* aarch64_mlav2si */

        case E_V4SImode:
          if (pattern259 (x2, E_V4SImode) != 0
              || !
#line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1807; /* aarch64_mlav4si */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              switch (pattern384 (x2))
                {
                case 0:
                  return 392; /* maddsidi4 */

                case 1:
                  if (!
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2019; /* aarch64_smlalv8qi */

                case 2:
                  if (!
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2021; /* aarch64_smlalv4hi */

                case 3:
                  if (!
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2023; /* aarch64_smlalv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern386 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2216 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2025; /* aarch64_smlal_nv4hi */

                case 1:
                  if (!
#line 2216 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2027; /* aarch64_smlal_nv2si */

                case 2:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2081; /* aarch64_vec_smlal_lane_v4hi */

                case 3:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2083; /* aarch64_vec_smlal_laneq_v4hi */

                case 4:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2085; /* aarch64_vec_smlal_lane_v2si */

                case 5:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2087; /* aarch64_vec_smlal_laneq_v2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x7 = XEXP (x5, 0);
          operands[2] = x7;
          x8 = XEXP (x5, 1);
          operands[3] = x8;
          x9 = XEXP (x2, 1);
          operands[1] = x9;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              switch (pattern565 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1987; /* *aarch64_smlal_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2065 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1993; /* aarch64_smlal_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1989; /* *aarch64_smlal_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2065 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1995; /* aarch64_smlal_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1991; /* *aarch64_smlal_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2065 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1997; /* aarch64_smlal_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern567 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1999; /* aarch64_smlal_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2001; /* aarch64_smlal_hi_nv4si_insn */

                case 2:
                  if (!
#line 2479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2089; /* aarch64_smlal_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2093; /* aarch64_smlal_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2091; /* aarch64_smlal_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2095; /* aarch64_smlal_hi_laneqv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case ZERO_EXTEND:
              switch (pattern384 (x2))
                {
                case 0:
                  return 393; /* umaddsidi4 */

                case 1:
                  if (!
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2020; /* aarch64_umlalv8qi */

                case 2:
                  if (!
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2022; /* aarch64_umlalv4hi */

                case 3:
                  if (!
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2024; /* aarch64_umlalv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern386 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2216 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2026; /* aarch64_umlal_nv4hi */

                case 1:
                  if (!
#line 2216 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2028; /* aarch64_umlal_nv2si */

                case 2:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2082; /* aarch64_vec_umlal_lane_v4hi */

                case 3:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2084; /* aarch64_vec_umlal_laneq_v4hi */

                case 4:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2086; /* aarch64_vec_umlal_lane_v2si */

                case 5:
                  if (!
#line 2457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2088; /* aarch64_vec_umlal_laneq_v2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x7 = XEXP (x5, 0);
          operands[2] = x7;
          x8 = XEXP (x5, 1);
          operands[3] = x8;
          x9 = XEXP (x2, 1);
          operands[1] = x9;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case ZERO_EXTEND:
              switch (pattern565 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1988; /* *aarch64_umlal_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2065 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1994; /* aarch64_umlal_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1990; /* *aarch64_umlal_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2065 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1996; /* aarch64_umlal_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1992; /* *aarch64_umlal_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2065 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1998; /* aarch64_umlal_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern567 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2000; /* aarch64_umlal_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2002; /* aarch64_umlal_hi_nv4si_insn */

                case 2:
                  if (!
#line 2479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2090; /* aarch64_umlal_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2094; /* aarch64_umlal_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2092; /* aarch64_umlal_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2096; /* aarch64_umlal_hi_laneqv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case VEC_SELECT:
          x8 = XEXP (x5, 1);
          if (GET_CODE (x8) != PARALLEL
              || XVECLEN (x8, 0) != 1)
            return -1;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          x10 = XVECEXP (x8, 0, 0);
          operands[2] = x10;
          if (!immediate_operand (operands[2], E_SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          x9 = XEXP (x2, 1);
          operands[4] = x9;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern743 (x2, E_V4HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1808; /* *aarch64_mla_eltv4hi */

                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1812; /* *aarch64_mla_elt_to_128v4hi */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern743 (x2, E_V8HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1809; /* *aarch64_mla_eltv8hi */

                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1813; /* *aarch64_mla_elt_to_64v8hi */

                default:
                  return -1;
                }

            case E_V2SImode:
              if (pattern743 (x2, E_V2SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1810; /* *aarch64_mla_eltv2si */

                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1814; /* *aarch64_mla_elt_to_128v2si */

                default:
                  return -1;
                }

            case E_V4SImode:
              if (pattern743 (x2, E_V4SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1811; /* *aarch64_mla_eltv4si */

                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1815; /* *aarch64_mla_elt_to_64v4si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[3] = x5;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          x9 = XEXP (x2, 1);
          operands[1] = x9;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern568 (x2, E_V4HImode, E_HImode) != 0
                  || !
#line 1447 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1816; /* aarch64_mla_nv4hi */

            case E_V8HImode:
              if (pattern568 (x2, E_V8HImode, E_HImode) != 0
                  || !
#line 1447 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1817; /* aarch64_mla_nv8hi */

            case E_V2SImode:
              if (pattern568 (x2, E_V2SImode, E_SImode) != 0
                  || !
#line 1447 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1818; /* aarch64_mla_nv2si */

            case E_V4SImode:
              if (pattern568 (x2, E_V4SImode, E_SImode) != 0
                  || !
#line 1447 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1819; /* aarch64_mla_nv4si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153)
        return -1;
      x11 = XVECEXP (x4, 0, 0);
      operands[3] = x11;
      x12 = XVECEXP (x4, 0, 1);
      operands[4] = x12;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      x9 = XEXP (x2, 1);
      operands[1] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern705 (x2, E_VNx8HImode) != 0
              || !
#line 731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9366; /* aarch64_sve_add_mul_lane_vnx8hi */

        case E_VNx4SImode:
          if (pattern705 (x2, E_VNx4SImode) != 0
              || !
#line 731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9367; /* aarch64_sve_add_mul_lane_vnx4si */

        case E_VNx2DImode:
          if (pattern705 (x2, E_VNx2DImode) != 0
              || !
#line 731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9368; /* aarch64_sve_add_mul_lane_vnx2di */

        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              switch (pattern378 (x2, E_SImode))
                {
                case 0:
                  return 219; /* *add_zero_extendqi_si */

                case 1:
                  return 223; /* *add_zero_extendhi_si */

                case 2:
                  return 227; /* *add_zero_extendsi_si */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern378 (x2, E_DImode))
                {
                case 0:
                  return 221; /* *add_zero_extendqi_di */

                case 1:
                  return 225; /* *add_zero_extendhi_di */

                case 2:
                  return 229; /* *add_zero_extendsi_di */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern379 (x2, E_V8HImode, E_V8QImode) != 0
                  || !
#line 4635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2629; /* aarch64_uaddwv8qi */

            case E_V4SImode:
              if (pattern379 (x2, E_V4SImode, E_V4HImode) != 0
                  || !
#line 4635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2631; /* aarch64_uaddwv4hi */

            case E_V2DImode:
              if (pattern379 (x2, E_V2DImode, E_V2SImode) != 0
                  || !
#line 4635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2633; /* aarch64_uaddwv2si */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern51 (x2))
            {
            case 0:
              if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2600; /* aarch64_uaddlv8qi */

            case 1:
              if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2604; /* aarch64_uaddlv4hi */

            case 2:
              if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2608; /* aarch64_uaddlv2si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x6 = XEXP (x4, 1);
      operands[3] = x6;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case ZERO_EXTEND:
          switch (pattern380 (x2))
            {
            case 0:
              if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2576; /* aarch64_uaddlv16qi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2588; /* aarch64_uaddlv16qi_lo_internal */

            case 1:
              if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2580; /* aarch64_uaddlv8hi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2592; /* aarch64_uaddlv8hi_lo_internal */

            case 2:
              if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2584; /* aarch64_uaddlv4si_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2596; /* aarch64_uaddlv4si_lo_internal */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern382 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2635; /* aarch64_uaddwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2641; /* aarch64_uaddw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2637; /* aarch64_uaddwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2643; /* aarch64_uaddw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2639; /* aarch64_uaddwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2645; /* aarch64_uaddw2v4si_internal */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern187 (x2, E_DImode) != 0)
        return -1;
      switch (pattern162 (x2))
        {
        case 0:
          if (!
#line 9847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8976; /* aarch64_sve_incdi_pat */

        case 1:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9010; /* *aarch64_sve_incdivnx16bi_cntp */

        case 2:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9013; /* *aarch64_sve_incdivnx8bi_cntp */

        case 3:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9016; /* *aarch64_sve_incdivnx4bi_cntp */

        case 4:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9019; /* *aarch64_sve_incdivnx2bi_cntp */

        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;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              switch (pattern378 (x2, E_SImode))
                {
                case 0:
                  return 218; /* *add_extendqi_si */

                case 1:
                  return 222; /* *add_extendhi_si */

                case 2:
                  return 226; /* *add_extendsi_si */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern378 (x2, E_DImode))
                {
                case 0:
                  return 220; /* *add_extendqi_di */

                case 1:
                  return 224; /* *add_extendhi_di */

                case 2:
                  return 228; /* *add_extendsi_di */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern379 (x2, E_V8HImode, E_V8QImode) != 0
                  || !
#line 4635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2628; /* aarch64_saddwv8qi */

            case E_V4SImode:
              if (pattern379 (x2, E_V4SImode, E_V4HImode) != 0
                  || !
#line 4635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2630; /* aarch64_saddwv4hi */

            case E_V2DImode:
              if (pattern379 (x2, E_V2DImode, E_V2SImode) != 0
                  || !
#line 4635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2632; /* aarch64_saddwv2si */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern51 (x2))
            {
            case 0:
              if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2598; /* aarch64_saddlv8qi */

            case 1:
              if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2602; /* aarch64_saddlv4hi */

            case 2:
              if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2606; /* aarch64_saddlv2si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x6 = XEXP (x4, 1);
      operands[3] = x6;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case SIGN_EXTEND:
          switch (pattern380 (x2))
            {
            case 0:
              if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2574; /* aarch64_saddlv16qi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2586; /* aarch64_saddlv16qi_lo_internal */

            case 1:
              if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2578; /* aarch64_saddlv8hi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2590; /* aarch64_saddlv8hi_lo_internal */

            case 2:
              if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2582; /* aarch64_saddlv4si_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2594; /* aarch64_saddlv4si_lo_internal */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern382 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2634; /* aarch64_saddwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2640; /* aarch64_saddw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2636; /* aarch64_saddwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2642; /* aarch64_saddw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2638; /* aarch64_saddwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2644; /* aarch64_saddw2v4si_internal */

            default:
              return -1;
            }

        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, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern397 (x2, E_SImode) != 0)
            return -1;
          return 384; /* *msubsi */

        case E_DImode:
          if (pattern397 (x2, E_DImode) != 0)
            return -1;
          return 385; /* *msubdi */

        case E_V8QImode:
          if (pattern398 (x2, E_V8QImode) != 0
              || !
#line 1457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1820; /* aarch64_mlsv8qi */

        case E_V16QImode:
          if (pattern398 (x2, E_V16QImode) != 0
              || !
#line 1457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1821; /* aarch64_mlsv16qi */

        case E_V4HImode:
          if (pattern398 (x2, E_V4HImode) != 0
              || !
#line 1457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1822; /* aarch64_mlsv4hi */

        case E_V8HImode:
          if (pattern398 (x2, E_V8HImode) != 0
              || !
#line 1457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1823; /* aarch64_mlsv8hi */

        case E_V2SImode:
          if (pattern398 (x2, E_V2SImode) != 0
              || !
#line 1457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1824; /* aarch64_mlsv2si */

        case E_V4SImode:
          if (pattern398 (x2, E_V4SImode) != 0
              || !
#line 1457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1825; /* aarch64_mlsv4si */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              switch (pattern478 (x2))
                {
                case 0:
                  return 394; /* msubsidi4 */

                case 1:
                  if (!
#line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2029; /* aarch64_smlslv8qi */

                case 2:
                  if (!
#line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2031; /* aarch64_smlslv4hi */

                case 3:
                  if (!
#line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2033; /* aarch64_smlslv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern480 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2245 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2035; /* aarch64_smlsl_nv4hi */

                case 1:
                  if (!
#line 2245 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2037; /* aarch64_smlsl_nv2si */

                case 2:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2097; /* aarch64_vec_smlsl_lane_v4hi */

                case 3:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2099; /* aarch64_vec_smlsl_laneq_v4hi */

                case 4:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2101; /* aarch64_vec_smlsl_lane_v2si */

                case 5:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2103; /* aarch64_vec_smlsl_laneq_v2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x7 = XEXP (x2, 0);
          operands[1] = x7;
          x8 = XEXP (x5, 0);
          operands[2] = x8;
          x9 = XEXP (x5, 1);
          operands[3] = x9;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              switch (pattern625 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2003; /* *aarch64_smlsl_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2009; /* aarch64_smlsl_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2005; /* *aarch64_smlsl_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2011; /* aarch64_smlsl_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2007; /* *aarch64_smlsl_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2013; /* aarch64_smlsl_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern627 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2173 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2015; /* aarch64_smlsl_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2173 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2017; /* aarch64_smlsl_hi_nv4si_insn */

                case 2:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2105; /* aarch64_smlsl_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2109; /* aarch64_smlsl_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2107; /* aarch64_smlsl_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2111; /* aarch64_smlsl_hi_laneqv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case ZERO_EXTEND:
              switch (pattern478 (x2))
                {
                case 0:
                  return 395; /* umsubsidi4 */

                case 1:
                  if (!
#line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2030; /* aarch64_umlslv8qi */

                case 2:
                  if (!
#line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2032; /* aarch64_umlslv4hi */

                case 3:
                  if (!
#line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2034; /* aarch64_umlslv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern480 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2245 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2036; /* aarch64_umlsl_nv4hi */

                case 1:
                  if (!
#line 2245 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2038; /* aarch64_umlsl_nv2si */

                case 2:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2098; /* aarch64_vec_umlsl_lane_v4hi */

                case 3:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2100; /* aarch64_vec_umlsl_laneq_v4hi */

                case 4:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2102; /* aarch64_vec_umlsl_lane_v2si */

                case 5:
                  if (!
#line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2104; /* aarch64_vec_umlsl_laneq_v2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x7 = XEXP (x2, 0);
          operands[1] = x7;
          x8 = XEXP (x5, 0);
          operands[2] = x8;
          x9 = XEXP (x5, 1);
          operands[3] = x9;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case ZERO_EXTEND:
              switch (pattern625 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2004; /* *aarch64_umlsl_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2010; /* aarch64_umlsl_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2006; /* *aarch64_umlsl_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2012; /* aarch64_umlsl_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2008; /* *aarch64_umlsl_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2014; /* aarch64_umlsl_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern627 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2173 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2016; /* aarch64_umlsl_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2173 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2018; /* aarch64_umlsl_hi_nv4si_insn */

                case 2:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2106; /* aarch64_umlsl_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2110; /* aarch64_umlsl_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2108; /* aarch64_umlsl_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2112; /* aarch64_umlsl_hi_laneqv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case VEC_SELECT:
          x9 = XEXP (x5, 1);
          if (GET_CODE (x9) != PARALLEL
              || XVECLEN (x9, 0) != 1)
            return -1;
          x7 = XEXP (x2, 0);
          operands[4] = x7;
          x8 = XEXP (x5, 0);
          operands[1] = x8;
          x10 = XVECEXP (x9, 0, 0);
          operands[2] = x10;
          if (!immediate_operand (operands[2], E_SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern785 (x2, E_V4HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1472 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1826; /* *aarch64_mls_eltv4hi */

                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1830; /* *aarch64_mls_elt_to_128v4hi */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern785 (x2, E_V8HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1472 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1827; /* *aarch64_mls_eltv8hi */

                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1831; /* *aarch64_mls_elt_to_64v8hi */

                default:
                  return -1;
                }

            case E_V2SImode:
              if (pattern785 (x2, E_V2SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1472 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1828; /* *aarch64_mls_eltv2si */

                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1832; /* *aarch64_mls_elt_to_128v2si */

                default:
                  return -1;
                }

            case E_V4SImode:
              if (pattern785 (x2, E_V4SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1472 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1829; /* *aarch64_mls_eltv4si */

                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1833; /* *aarch64_mls_elt_to_64v4si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[3] = x5;
          x7 = XEXP (x2, 0);
          operands[1] = x7;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern628 (x2, E_V4HImode, E_HImode) != 0
                  || !
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1834; /* aarch64_mls_nv4hi */

            case E_V8HImode:
              if (pattern628 (x2, E_V8HImode, E_HImode) != 0
                  || !
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1835; /* aarch64_mls_nv8hi */

            case E_V2SImode:
              if (pattern628 (x2, E_V2SImode, E_SImode) != 0
                  || !
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1836; /* aarch64_mls_nv2si */

            case E_V4SImode:
              if (pattern628 (x2, E_V4SImode, E_SImode) != 0
                  || !
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1837; /* aarch64_mls_nv4si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153)
        return -1;
      x7 = XEXP (x2, 0);
      operands[1] = x7;
      x11 = XVECEXP (x4, 0, 0);
      operands[3] = x11;
      x12 = XVECEXP (x4, 0, 1);
      operands[4] = x12;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern747 (x2, E_VNx8HImode) != 0
              || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9369; /* aarch64_sve_sub_mul_lane_vnx8hi */

        case E_VNx4SImode:
          if (pattern747 (x2, E_VNx4SImode) != 0
              || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9370; /* aarch64_sve_sub_mul_lane_vnx4si */

        case E_VNx2DImode:
          if (pattern747 (x2, E_VNx2DImode) != 0
              || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9371; /* aarch64_sve_sub_mul_lane_vnx2di */

        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, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[2] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern13 (x2, E_SImode) != 0)
            return -1;
          return 268; /* subsi3 */

        case E_DImode:
          if (pattern13 (x2, E_DImode) != 0)
            return -1;
          return 270; /* subdi3 */

        case E_HFmode:
          if (pattern13 (x2, E_HFmode) != 0
              || !(
#line 6514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 976; /* subhf3 */

        case E_SFmode:
          if (pattern13 (x2, E_SFmode) != 0
              || !
#line 6514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 977; /* subsf3 */

        case E_DFmode:
          if (pattern13 (x2, E_DFmode) != 0
              || !
#line 6514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 978; /* subdf3 */

        case E_V8QImode:
          if (pattern13 (x2, E_V8QImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1435; /* subv8qi3 */

        case E_V16QImode:
          if (pattern13 (x2, E_V16QImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1436; /* subv16qi3 */

        case E_V4HImode:
          if (pattern13 (x2, E_V4HImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1437; /* subv4hi3 */

        case E_V8HImode:
          if (pattern13 (x2, E_V8HImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1438; /* subv8hi3 */

        case E_V2SImode:
          if (pattern13 (x2, E_V2SImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1439; /* subv2si3 */

        case E_V4SImode:
          if (pattern13 (x2, E_V4SImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1440; /* subv4si3 */

        case E_V2DImode:
          if (pattern13 (x2, E_V2DImode) != 0
              || !
#line 396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1441; /* subv2di3 */

        case E_V4HFmode:
          if (pattern13 (x2, E_V4HFmode) != 0
              || !(
#line 2673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2118; /* subv4hf3 */

        case E_V8HFmode:
          if (pattern13 (x2, E_V8HFmode) != 0
              || !(
#line 2673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2119; /* subv8hf3 */

        case E_V2SFmode:
          if (pattern13 (x2, E_V2SFmode) != 0
              || !
#line 2673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2120; /* subv2sf3 */

        case E_V4SFmode:
          if (pattern13 (x2, E_V4SFmode) != 0
              || !
#line 2673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2121; /* subv4sf3 */

        case E_V2DFmode:
          if (pattern13 (x2, E_V2DFmode) != 0
              || !
#line 2673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2122; /* subv2df3 */

        case E_VNx16QImode:
          if (pattern475 (x2, E_VNx16QImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6382; /* subvnx16qi3 */

        case E_VNx8QImode:
          if (pattern475 (x2, E_VNx8QImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6383; /* subvnx8qi3 */

        case E_VNx4QImode:
          if (pattern475 (x2, E_VNx4QImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6384; /* subvnx4qi3 */

        case E_VNx2QImode:
          if (pattern475 (x2, E_VNx2QImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6385; /* subvnx2qi3 */

        case E_VNx8HImode:
          if (pattern475 (x2, E_VNx8HImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6386; /* subvnx8hi3 */

        case E_VNx4HImode:
          if (pattern475 (x2, E_VNx4HImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6387; /* subvnx4hi3 */

        case E_VNx2HImode:
          if (pattern475 (x2, E_VNx2HImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6388; /* subvnx2hi3 */

        case E_VNx4SImode:
          if (pattern475 (x2, E_VNx4SImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6389; /* subvnx4si3 */

        case E_VNx2SImode:
          if (pattern475 (x2, E_VNx2SImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6390; /* subvnx2si3 */

        case E_VNx2DImode:
          if (pattern475 (x2, E_VNx2DImode) != 0
              || !
#line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6391; /* subvnx2di3 */

        case E_VNx8HFmode:
          if (pattern13 (x2, E_VNx8HFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6873; /* *post_ra_fsubvnx8hf3 */

        case E_VNx4SFmode:
          if (pattern13 (x2, E_VNx4SFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6876; /* *post_ra_fsubvnx4sf3 */

        case E_VNx2DFmode:
          if (pattern13 (x2, E_VNx2DFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6879; /* *post_ra_fsubvnx2df3 */

        default:
          return -1;
        }

    case ASHIFT:
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          x4 = XEXP (x2, 0);
          operands[3] = x4;
          switch (pattern190 (x2))
            {
            case 0:
              return 290; /* *sub_lsl_si */

            case 1:
              return 293; /* *sub_lsl_di */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern308 (x2))
            {
            case 0:
              return 315; /* *sub_extendqi_shft_si */

            case 1:
              return 319; /* *sub_extendhi_shft_si */

            case 2:
              return 323; /* *sub_extendsi_shft_si */

            case 3:
              return 317; /* *sub_extendqi_shft_di */

            case 4:
              return 321; /* *sub_extendhi_shft_di */

            case 5:
              return 325; /* *sub_extendsi_shft_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern308 (x2))
            {
            case 0:
              return 316; /* *sub_zero_extendqi_shft_si */

            case 1:
              return 320; /* *sub_zero_extendhi_shft_si */

            case 2:
              return 324; /* *sub_zero_extendsi_shft_si */

            case 3:
              return 318; /* *sub_zero_extendqi_shft_di */

            case 4:
              return 322; /* *sub_zero_extendhi_shft_di */

            case 5:
              return 326; /* *sub_zero_extendsi_shft_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern191 (x2))
        {
        case 0:
          return 291; /* *sub_asr_si */

        case 1:
          return 294; /* *sub_asr_di */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern191 (x2))
        {
        case 0:
          return 292; /* *sub_lsr_si */

        case 1:
          return 295; /* *sub_lsr_di */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern394 (x2))
            {
            case 0:
              return 299; /* *sub_extendqi_si */

            case 1:
              return 303; /* *sub_extendhi_si */

            case 2:
              return 307; /* *sub_extendsi_si */

            case 3:
              return 301; /* *sub_extendqi_di */

            case 4:
              return 305; /* *sub_extendhi_di */

            case 5:
              return 309; /* *sub_extendsi_di */

            case 6:
              if (!
#line 4601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2610; /* aarch64_ssubwv8qi */

            case 7:
              if (!
#line 4601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2612; /* aarch64_ssubwv4hi */

            case 8:
              if (!
#line 4601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2614; /* aarch64_ssubwv2si */

            default:
              return -1;
            }

        case VEC_SELECT:
          switch (pattern396 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2616; /* aarch64_ssubwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2622; /* aarch64_ssubw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2618; /* aarch64_ssubwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2624; /* aarch64_ssubw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2620; /* aarch64_ssubwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2626; /* aarch64_ssubw2v4si_internal */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern394 (x2))
            {
            case 0:
              return 300; /* *sub_zero_extendqi_si */

            case 1:
              return 304; /* *sub_zero_extendhi_si */

            case 2:
              return 308; /* *sub_zero_extendsi_si */

            case 3:
              return 302; /* *sub_zero_extendqi_di */

            case 4:
              return 306; /* *sub_zero_extendhi_di */

            case 5:
              return 310; /* *sub_zero_extendsi_di */

            case 6:
              if (!
#line 4601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2611; /* aarch64_usubwv8qi */

            case 7:
              if (!
#line 4601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2613; /* aarch64_usubwv4hi */

            case 8:
              if (!
#line 4601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2615; /* aarch64_usubwv2si */

            default:
              return -1;
            }

        case VEC_SELECT:
          switch (pattern396 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2617; /* aarch64_usubwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2623; /* aarch64_usubw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2619; /* aarch64_usubwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2625; /* aarch64_usubw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2621; /* aarch64_usubwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2627; /* aarch64_usubw2v4si_internal */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x5, 0) != 3
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x2) != E_DImode
              || !register_operand (operands[1], E_DImode)
              || GET_MODE (x3) != E_DImode)
            return -1;
          switch (pattern272 (x5))
            {
            case 0:
              if (!
#line 9997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8991; /* aarch64_sve_decdi_pat */

            case 1:
              if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9043; /* *aarch64_sve_decdivnx16bi_cntp */

            case 2:
              if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9046; /* *aarch64_sve_decdivnx8bi_cntp */

            case 3:
              if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9049; /* *aarch64_sve_decdivnx4bi_cntp */

            case 4:
              if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9052; /* *aarch64_sve_decdivnx2bi_cntp */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case GEU:
    case LTU:
      operands[2] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern476 (x2, E_SImode) != 0)
            return -1;
          return 331; /* *subsi3_carryin0 */

        case E_DImode:
          if (pattern476 (x2, E_DImode) != 0)
            return -1;
          return 332; /* *subdi3_carryin0 */

        default:
          return -1;
        }

    case AND:
      x5 = XEXP (x3, 0);
      if (GET_CODE (x5) != ASHIFT)
        return -1;
      x4 = XEXP (x2, 0);
      operands[4] = x4;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      if (!aarch64_imm3 (operands[2], E_VOIDmode))
        return -1;
      x8 = XEXP (x3, 1);
      operands[3] = x8;
      if (!const_int_operand (operands[3], E_VOIDmode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern707 (x2, E_SImode) != 0
              || !
#line 3549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]),INTVAL (operands[3])) != 0))
            return -1;
          return 350; /* *sub_uxtsi_shift2 */

        case E_DImode:
          if (pattern707 (x2, E_DImode) != 0
              || !
#line 3549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]),INTVAL (operands[3])) != 0))
            return -1;
          return 351; /* *sub_uxtdi_shift2 */

        default:
          return -1;
        }

    case MULT:
      return recog_54 (x1, insn, pnum_clobbers);

    case UNSPEC:
      switch (XVECLEN (x3, 0))
        {
        case 2:
          switch (XINT (x3, 1))
            {
            case 118:
              x9 = XVECEXP (x3, 0, 1);
              if (GET_CODE (x9) != MULT)
                return -1;
              x4 = XEXP (x2, 0);
              operands[4] = x4;
              x10 = XVECEXP (x3, 0, 0);
              operands[1] = x10;
              x11 = XEXP (x9, 0);
              operands[2] = x11;
              x12 = XEXP (x9, 1);
              operands[3] = x12;
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16QImode:
                  if (pattern708 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7354; /* aarch64_pred_fnmavnx16qi */

                case E_VNx8QImode:
                  if (pattern708 (x2, E_VNx8QImode, E_VNx8BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7355; /* aarch64_pred_fnmavnx8qi */

                case E_VNx4QImode:
                  if (pattern708 (x2, E_VNx4QImode, E_VNx4BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7356; /* aarch64_pred_fnmavnx4qi */

                case E_VNx2QImode:
                  if (pattern708 (x2, E_VNx2QImode, E_VNx2BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7357; /* aarch64_pred_fnmavnx2qi */

                case E_VNx8HImode:
                  if (pattern708 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7358; /* aarch64_pred_fnmavnx8hi */

                case E_VNx4HImode:
                  if (pattern708 (x2, E_VNx4HImode, E_VNx4BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7359; /* aarch64_pred_fnmavnx4hi */

                case E_VNx2HImode:
                  if (pattern708 (x2, E_VNx2HImode, E_VNx2BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7360; /* aarch64_pred_fnmavnx2hi */

                case E_VNx4SImode:
                  if (pattern708 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7361; /* aarch64_pred_fnmavnx4si */

                case E_VNx2SImode:
                  if (pattern708 (x2, E_VNx2SImode, E_VNx2BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7362; /* aarch64_pred_fnmavnx2si */

                case E_VNx2DImode:
                  if (pattern708 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7363; /* aarch64_pred_fnmavnx2di */

                default:
                  return -1;
                }

            case 461:
              switch (pattern404 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9620; /* aarch64_sve_sub_smullbvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9624; /* aarch64_sve_sub_smullbvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9628; /* aarch64_sve_sub_smullbvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9632; /* aarch64_sve_sub_smullb_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9636; /* aarch64_sve_sub_smullb_lane_vnx2di */

                default:
                  return -1;
                }

            case 462:
              switch (pattern404 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9621; /* aarch64_sve_sub_smulltvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9625; /* aarch64_sve_sub_smulltvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9629; /* aarch64_sve_sub_smulltvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9633; /* aarch64_sve_sub_smullt_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9637; /* aarch64_sve_sub_smullt_lane_vnx2di */

                default:
                  return -1;
                }

            case 506:
              switch (pattern404 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9622; /* aarch64_sve_sub_umullbvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9626; /* aarch64_sve_sub_umullbvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9630; /* aarch64_sve_sub_umullbvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9634; /* aarch64_sve_sub_umullb_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9638; /* aarch64_sve_sub_umullb_lane_vnx2di */

                default:
                  return -1;
                }

            case 507:
              switch (pattern404 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9623; /* aarch64_sve_sub_umulltvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9627; /* aarch64_sve_sub_umulltvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9631; /* aarch64_sve_sub_umulltvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9635; /* aarch64_sve_sub_umullt_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9639; /* aarch64_sve_sub_umullt_lane_vnx2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 3:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x2) != E_SImode)
            return -1;
          x4 = XEXP (x2, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], E_SImode)
              || GET_MODE (x3) != E_SImode)
            return -1;
          switch (XINT (x3, 1))
            {
            case 154:
              x10 = XVECEXP (x3, 0, 0);
              operands[2] = x10;
              if (!const_int_operand (operands[2], E_DImode))
                return -1;
              x9 = XVECEXP (x3, 0, 1);
              operands[3] = x9;
              if (!const_int_operand (operands[3], E_DImode))
                return -1;
              x13 = XVECEXP (x3, 0, 2);
              operands[4] = x13;
              if (!const_int_operand (operands[4], E_DImode)
                  || !
#line 10014 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8994; /* *aarch64_sve_decsi_pat */

            case 291:
              x9 = XVECEXP (x3, 0, 1);
              if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
                return -1;
              switch (pattern698 (x3))
                {
                case 0:
                  if (!
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9055; /* *aarch64_decsivnx16bi_cntp */

                case 1:
                  if (!
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9056; /* *aarch64_decsivnx8bi_cntp */

                case 2:
                  if (!
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9057; /* *aarch64_decsivnx4bi_cntp */

                case 3:
                  if (!
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9058; /* *aarch64_decsivnx2bi_cntp */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (pattern274 (x2))
        {
        case 0:
          if (!
#line 10062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8997; /* aarch64_sve_decvnx2di_pat */

        case 1:
          if (!
#line 10522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9067; /* *aarch64_sve_decvnx2di_cntp */

        case 2:
          if (!
#line 10083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9000; /* aarch64_sve_decvnx4si_pat */

        case 3:
          if (!
#line 10561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9070; /* *aarch64_sve_decvnx4si_cntp */

        case 4:
          if (!
#line 10118 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9003; /* *aarch64_sve_decvnx8hi_pat */

        case 5:
          if (!
#line 10602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9073; /* *aarch64_sve_decvnx8hi_cntp */

        default:
          return -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, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
    {
      x5 = XEXP (x3, 0);
      operands[2] = x5;
      if (cc_register (operands[2], E_VOIDmode))
        {
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (register_operand (operands[0], E_QImode)
                  && GET_MODE (x2) == E_QImode
                  && aarch64_comparison_operator_mode (operands[1], E_QImode))
                return 451; /* cstoreqi_neg */
              break;

            case E_HImode:
              if (register_operand (operands[0], E_HImode)
                  && GET_MODE (x2) == E_HImode
                  && aarch64_comparison_operator_mode (operands[1], E_HImode))
                return 452; /* cstorehi_neg */
              break;

            case E_SImode:
              if (register_operand (operands[0], E_SImode)
                  && GET_MODE (x2) == E_SImode
                  && aarch64_comparison_operator_mode (operands[1], E_SImode))
                return 453; /* cstoresi_neg */
              break;

            case E_DImode:
              if (register_operand (operands[0], E_DImode)
                  && GET_MODE (x2) == E_DImode
                  && aarch64_comparison_operator_mode (operands[1], E_DImode))
                return 454; /* cstoredi_neg */
              break;

            default:
              break;
            }
        }
    }
  switch (GET_CODE (x3))
    {
    case LT:
      switch (pattern196 (x2))
        {
        case 0:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3337; /* aarch64_cmltv8qi */

        case 1:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3342; /* aarch64_cmltv16qi */

        case 2:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3347; /* aarch64_cmltv4hi */

        case 3:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3434; /* aarch64_cmltv4hf */

        case 4:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3352; /* aarch64_cmltv8hi */

        case 5:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3439; /* aarch64_cmltv8hf */

        case 6:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3357; /* aarch64_cmltv2si */

        case 7:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3444; /* aarch64_cmltv2sf */

        case 8:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3362; /* aarch64_cmltv4si */

        case 9:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3449; /* aarch64_cmltv4sf */

        case 10:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3367; /* aarch64_cmltv2di */

        case 11:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3454; /* aarch64_cmltv2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3372; /* aarch64_cmltdi */
            }
          if (!
#line 6499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3377; /* *aarch64_cmltdi */

        case 13:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3469; /* aarch64_cmltdf */

        case 14:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3459; /* aarch64_cmlthf */

        case 15:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3464; /* aarch64_cmltsf */

        case 16:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3474; /* aarch64_facltv4hf */

        case 17:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3478; /* aarch64_facltv8hf */

        case 18:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3482; /* aarch64_facltv2sf */

        case 19:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3486; /* aarch64_facltv4sf */

        case 20:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3490; /* aarch64_facltv2df */

        case 21:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3494; /* aarch64_faclthf */

        case 22:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3498; /* aarch64_facltsf */

        case 23:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3502; /* aarch64_facltdf */

        default:
          return -1;
        }

    case LE:
      switch (pattern196 (x2))
        {
        case 0:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3338; /* aarch64_cmlev8qi */

        case 1:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3343; /* aarch64_cmlev16qi */

        case 2:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3348; /* aarch64_cmlev4hi */

        case 3:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3435; /* aarch64_cmlev4hf */

        case 4:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3353; /* aarch64_cmlev8hi */

        case 5:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3440; /* aarch64_cmlev8hf */

        case 6:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3358; /* aarch64_cmlev2si */

        case 7:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3445; /* aarch64_cmlev2sf */

        case 8:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3363; /* aarch64_cmlev4si */

        case 9:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3450; /* aarch64_cmlev4sf */

        case 10:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3368; /* aarch64_cmlev2di */

        case 11:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3455; /* aarch64_cmlev2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3373; /* aarch64_cmledi */
            }
          if (!
#line 6499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3378; /* *aarch64_cmledi */

        case 13:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3470; /* aarch64_cmledf */

        case 14:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3460; /* aarch64_cmlehf */

        case 15:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3465; /* aarch64_cmlesf */

        case 16:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3475; /* aarch64_faclev4hf */

        case 17:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3479; /* aarch64_faclev8hf */

        case 18:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3483; /* aarch64_faclev2sf */

        case 19:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3487; /* aarch64_faclev4sf */

        case 20:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3491; /* aarch64_faclev2df */

        case 21:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3495; /* aarch64_faclehf */

        case 22:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3499; /* aarch64_faclesf */

        case 23:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3503; /* aarch64_facledf */

        default:
          return -1;
        }

    case EQ:
      switch (pattern194 (x2))
        {
        case 0:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3339; /* aarch64_cmeqv8qi */

        case 1:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3344; /* aarch64_cmeqv16qi */

        case 2:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3349; /* aarch64_cmeqv4hi */

        case 3:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3436; /* aarch64_cmeqv4hf */

        case 4:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3354; /* aarch64_cmeqv8hi */

        case 5:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3441; /* aarch64_cmeqv8hf */

        case 6:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3359; /* aarch64_cmeqv2si */

        case 7:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3446; /* aarch64_cmeqv2sf */

        case 8:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3364; /* aarch64_cmeqv4si */

        case 9:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3451; /* aarch64_cmeqv4sf */

        case 10:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3369; /* aarch64_cmeqv2di */

        case 11:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3456; /* aarch64_cmeqv2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3374; /* aarch64_cmeqdi */
            }
          if (!
#line 6499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3379; /* *aarch64_cmeqdi */

        case 13:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3471; /* aarch64_cmeqdf */

        case 14:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3461; /* aarch64_cmeqhf */

        case 15:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3466; /* aarch64_cmeqsf */

        default:
          return -1;
        }

    case GE:
      switch (pattern196 (x2))
        {
        case 0:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3340; /* aarch64_cmgev8qi */

        case 1:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3345; /* aarch64_cmgev16qi */

        case 2:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3350; /* aarch64_cmgev4hi */

        case 3:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3437; /* aarch64_cmgev4hf */

        case 4:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3355; /* aarch64_cmgev8hi */

        case 5:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3442; /* aarch64_cmgev8hf */

        case 6:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3360; /* aarch64_cmgev2si */

        case 7:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3447; /* aarch64_cmgev2sf */

        case 8:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3365; /* aarch64_cmgev4si */

        case 9:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3452; /* aarch64_cmgev4sf */

        case 10:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3370; /* aarch64_cmgev2di */

        case 11:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3457; /* aarch64_cmgev2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3375; /* aarch64_cmgedi */
            }
          if (!
#line 6499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3380; /* *aarch64_cmgedi */

        case 13:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3472; /* aarch64_cmgedf */

        case 14:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3462; /* aarch64_cmgehf */

        case 15:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3467; /* aarch64_cmgesf */

        case 16:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3476; /* aarch64_facgev4hf */

        case 17:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3480; /* aarch64_facgev8hf */

        case 18:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3484; /* aarch64_facgev2sf */

        case 19:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3488; /* aarch64_facgev4sf */

        case 20:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3492; /* aarch64_facgev2df */

        case 21:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3496; /* aarch64_facgehf */

        case 22:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3500; /* aarch64_facgesf */

        case 23:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3504; /* aarch64_facgedf */

        default:
          return -1;
        }

    case GT:
      switch (pattern196 (x2))
        {
        case 0:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3341; /* aarch64_cmgtv8qi */

        case 1:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3346; /* aarch64_cmgtv16qi */

        case 2:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3351; /* aarch64_cmgtv4hi */

        case 3:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3438; /* aarch64_cmgtv4hf */

        case 4:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3356; /* aarch64_cmgtv8hi */

        case 5:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3443; /* aarch64_cmgtv8hf */

        case 6:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3361; /* aarch64_cmgtv2si */

        case 7:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3448; /* aarch64_cmgtv2sf */

        case 8:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3366; /* aarch64_cmgtv4si */

        case 9:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3453; /* aarch64_cmgtv4sf */

        case 10:
          if (!
#line 6450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3371; /* aarch64_cmgtv2di */

        case 11:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3458; /* aarch64_cmgtv2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3376; /* aarch64_cmgtdi */
            }
          if (!
#line 6499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3381; /* *aarch64_cmgtdi */

        case 13:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3473; /* aarch64_cmgtdf */

        case 14:
          if (!(
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3463; /* aarch64_cmgthf */

        case 15:
          if (!
#line 6667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3468; /* aarch64_cmgtsf */

        case 16:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3477; /* aarch64_facgtv4hf */

        case 17:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3481; /* aarch64_facgtv8hf */

        case 18:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3485; /* aarch64_facgtv2sf */

        case 19:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3489; /* aarch64_facgtv4sf */

        case 20:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3493; /* aarch64_facgtv2df */

        case 21:
          if (!(
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3497; /* aarch64_facgthf */

        case 22:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3501; /* aarch64_facgtsf */

        case 23:
          if (!
#line 6687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3505; /* aarch64_facgtdf */

        default:
          return -1;
        }

    case LTU:
      switch (pattern197 (x2))
        {
        case 0:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3382; /* aarch64_cmltuv8qi */

        case 1:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3386; /* aarch64_cmltuv16qi */

        case 2:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3390; /* aarch64_cmltuv4hi */

        case 3:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3394; /* aarch64_cmltuv8hi */

        case 4:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3398; /* aarch64_cmltuv2si */

        case 5:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3402; /* aarch64_cmltuv4si */

        case 6:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3406; /* aarch64_cmltuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3410; /* aarch64_cmltudi */
            }
          if (!
#line 6562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3414; /* *aarch64_cmltudi */

        default:
          return -1;
        }

    case LEU:
      switch (pattern197 (x2))
        {
        case 0:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3383; /* aarch64_cmleuv8qi */

        case 1:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3387; /* aarch64_cmleuv16qi */

        case 2:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3391; /* aarch64_cmleuv4hi */

        case 3:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3395; /* aarch64_cmleuv8hi */

        case 4:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3399; /* aarch64_cmleuv2si */

        case 5:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3403; /* aarch64_cmleuv4si */

        case 6:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3407; /* aarch64_cmleuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3411; /* aarch64_cmleudi */
            }
          if (!
#line 6562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3415; /* *aarch64_cmleudi */

        default:
          return -1;
        }

    case GEU:
      switch (pattern197 (x2))
        {
        case 0:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3384; /* aarch64_cmgeuv8qi */

        case 1:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3388; /* aarch64_cmgeuv16qi */

        case 2:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3392; /* aarch64_cmgeuv4hi */

        case 3:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3396; /* aarch64_cmgeuv8hi */

        case 4:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3400; /* aarch64_cmgeuv2si */

        case 5:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3404; /* aarch64_cmgeuv4si */

        case 6:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3408; /* aarch64_cmgeuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3412; /* aarch64_cmgeudi */
            }
          if (!
#line 6562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3416; /* *aarch64_cmgeudi */

        default:
          return -1;
        }

    case GTU:
      switch (pattern197 (x2))
        {
        case 0:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3385; /* aarch64_cmgtuv8qi */

        case 1:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3389; /* aarch64_cmgtuv16qi */

        case 2:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3393; /* aarch64_cmgtuv4hi */

        case 3:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3397; /* aarch64_cmgtuv8hi */

        case 4:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3401; /* aarch64_cmgtuv2si */

        case 5:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3405; /* aarch64_cmgtuv4si */

        case 6:
          if (!
#line 6515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3409; /* aarch64_cmgtuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3413; /* aarch64_cmgtudi */
            }
          if (!
#line 6562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3417; /* *aarch64_cmgtudi */

        default:
          return -1;
        }

    case NE:
      if (GET_MODE (x3) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      if (GET_CODE (x5) != AND
          || GET_MODE (x5) != E_DImode
          || x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || !register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      if (!register_operand (operands[2], E_DImode))
        return -1;
      if (pnum_clobbers != NULL
          && 
#line 6616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        {
          *pnum_clobbers = 1;
          return 3432; /* aarch64_cmtstdi */
        }
      if (!
#line 6653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3433; /* *aarch64_cmtstdi */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  switch (GET_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern13 (x2, E_SImode) != 0)
            return -1;
          return 378; /* mulsi3 */

        case E_DImode:
          if (pattern13 (x2, E_DImode) != 0)
            return -1;
          return 379; /* muldi3 */

        case E_HFmode:
          if (pattern13 (x2, E_HFmode) != 0
              || !(
#line 6524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 979; /* mulhf3 */

        case E_SFmode:
          if (pattern13 (x2, E_SFmode) != 0
              || !
#line 6524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 980; /* mulsf3 */

        case E_DFmode:
          if (pattern13 (x2, E_DFmode) != 0
              || !
#line 6524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 981; /* muldf3 */

        case E_V8QImode:
          if (pattern13 (x2, E_V8QImode) != 0
              || !
#line 405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1442; /* mulv8qi3 */

        case E_V16QImode:
          if (pattern13 (x2, E_V16QImode) != 0
              || !
#line 405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1443; /* mulv16qi3 */

        case E_V4HImode:
          if (pattern13 (x2, E_V4HImode) != 0
              || !
#line 405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1444; /* mulv4hi3 */

        case E_V8HImode:
          if (pattern13 (x2, E_V8HImode) != 0
              || !
#line 405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1445; /* mulv8hi3 */

        case E_V2SImode:
          if (pattern13 (x2, E_V2SImode) != 0
              || !
#line 405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1446; /* mulv2si3 */

        case E_V4SImode:
          if (pattern13 (x2, E_V4SImode) != 0
              || !
#line 405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1447; /* mulv4si3 */

        case E_V4HFmode:
          if (pattern13 (x2, E_V4HFmode) != 0
              || !(
#line 2682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2123; /* mulv4hf3 */

        case E_V8HFmode:
          if (pattern13 (x2, E_V8HFmode) != 0
              || !(
#line 2682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2124; /* mulv8hf3 */

        case E_V2SFmode:
          if (pattern13 (x2, E_V2SFmode) != 0
              || !
#line 2682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2125; /* mulv2sf3 */

        case E_V4SFmode:
          if (pattern13 (x2, E_V4SFmode) != 0
              || !
#line 2682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2126; /* mulv4sf3 */

        case E_V2DFmode:
          if (pattern13 (x2, E_V2DFmode) != 0
              || !
#line 2682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2127; /* mulv2df3 */

        case E_VNx8HFmode:
          if (pattern13 (x2, E_VNx8HFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6874; /* *post_ra_fmulvnx8hf3 */

        case E_VNx4SFmode:
          if (pattern13 (x2, E_VNx4SFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6877; /* *post_ra_fmulvnx4sf3 */

        case E_VNx2DFmode:
          if (pattern13 (x2, E_VNx2DFmode) != 0
              || !
#line 5015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6880; /* *post_ra_fmulvnx2df3 */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern14 (x2, E_VNx16QImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5812; /* *post_ra_mulvnx16qi3 */

        case E_VNx8QImode:
          if (pattern14 (x2, E_VNx8QImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5817; /* *post_ra_mulvnx8qi3 */

        case E_VNx4QImode:
          if (pattern14 (x2, E_VNx4QImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5822; /* *post_ra_mulvnx4qi3 */

        case E_VNx2QImode:
          if (pattern14 (x2, E_VNx2QImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5827; /* *post_ra_mulvnx2qi3 */

        case E_VNx8HImode:
          if (pattern14 (x2, E_VNx8HImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5832; /* *post_ra_mulvnx8hi3 */

        case E_VNx4HImode:
          if (pattern14 (x2, E_VNx4HImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5837; /* *post_ra_mulvnx4hi3 */

        case E_VNx2HImode:
          if (pattern14 (x2, E_VNx2HImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5842; /* *post_ra_mulvnx2hi3 */

        case E_VNx4SImode:
          if (pattern14 (x2, E_VNx4SImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5847; /* *post_ra_mulvnx4si3 */

        case E_VNx2SImode:
          if (pattern14 (x2, E_VNx2SImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5852; /* *post_ra_mulvnx2si3 */

        case E_VNx2DImode:
          if (pattern14 (x2, E_VNx2DImode) != 0
              || !
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5857; /* *post_ra_mulvnx2di3 */

        default:
          return -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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[3] = x5;
  switch (XINT (x3, 1))
    {
    case 304:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6502; /* aarch64_pred_smulhvnx16qi */

        case E_VNx8QImode:
          if (pattern582 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6504; /* aarch64_pred_smulhvnx8qi */

        case E_VNx4QImode:
          if (pattern582 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6506; /* aarch64_pred_smulhvnx4qi */

        case E_VNx2QImode:
          if (pattern582 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6508; /* aarch64_pred_smulhvnx2qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6510; /* aarch64_pred_smulhvnx8hi */

        case E_VNx4HImode:
          if (pattern582 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6512; /* aarch64_pred_smulhvnx4hi */

        case E_VNx2HImode:
          if (pattern582 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6514; /* aarch64_pred_smulhvnx2hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6516; /* aarch64_pred_smulhvnx4si */

        case E_VNx2SImode:
          if (pattern582 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6518; /* aarch64_pred_smulhvnx2si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6520; /* aarch64_pred_smulhvnx2di */

        default:
          return -1;
        }

    case 305:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6503; /* aarch64_pred_umulhvnx16qi */

        case E_VNx8QImode:
          if (pattern582 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6505; /* aarch64_pred_umulhvnx8qi */

        case E_VNx4QImode:
          if (pattern582 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6507; /* aarch64_pred_umulhvnx4qi */

        case E_VNx2QImode:
          if (pattern582 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6509; /* aarch64_pred_umulhvnx2qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6511; /* aarch64_pred_umulhvnx8hi */

        case E_VNx4HImode:
          if (pattern582 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6513; /* aarch64_pred_umulhvnx4hi */

        case E_VNx2HImode:
          if (pattern582 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6515; /* aarch64_pred_umulhvnx2hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6517; /* aarch64_pred_umulhvnx4si */

        case E_VNx2SImode:
          if (pattern582 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6519; /* aarch64_pred_umulhvnx2si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 4219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6521; /* aarch64_pred_umulhvnx2di */

        default:
          return -1;
        }

    case 393:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern673 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6761; /* *sdiv_pow2vnx16qi3 */

        case E_VNx8QImode:
          if (pattern673 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6762; /* *sdiv_pow2vnx8qi3 */

        case E_VNx4QImode:
          if (pattern673 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6763; /* *sdiv_pow2vnx4qi3 */

        case E_VNx2QImode:
          if (pattern673 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6764; /* *sdiv_pow2vnx2qi3 */

        case E_VNx8HImode:
          if (pattern673 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6765; /* *sdiv_pow2vnx8hi3 */

        case E_VNx4HImode:
          if (pattern673 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6766; /* *sdiv_pow2vnx4hi3 */

        case E_VNx2HImode:
          if (pattern673 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6767; /* *sdiv_pow2vnx2hi3 */

        case E_VNx4SImode:
          if (pattern673 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6768; /* *sdiv_pow2vnx4si3 */

        case E_VNx2SImode:
          if (pattern673 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6769; /* *sdiv_pow2vnx2si3 */

        case E_VNx2DImode:
          if (pattern673 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 4751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6770; /* *sdiv_pow2vnx2di3 */

        default:
          return -1;
        }

    case 181:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9106; /* aarch64_pred_shaddvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9116; /* aarch64_pred_shaddvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9126; /* aarch64_pred_shaddvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9136; /* aarch64_pred_shaddvnx2di */

        default:
          return -1;
        }

    case 185:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9107; /* aarch64_pred_shsubvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9117; /* aarch64_pred_shsubvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9127; /* aarch64_pred_shsubvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9137; /* aarch64_pred_shsubvnx2di */

        default:
          return -1;
        }

    case 217:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9108; /* aarch64_pred_sqrshlvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9118; /* aarch64_pred_sqrshlvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9128; /* aarch64_pred_sqrshlvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9138; /* aarch64_pred_sqrshlvnx2di */

        default:
          return -1;
        }

    case 183:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9109; /* aarch64_pred_srhaddvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9119; /* aarch64_pred_srhaddvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9129; /* aarch64_pred_srhaddvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9139; /* aarch64_pred_srhaddvnx2di */

        default:
          return -1;
        }

    case 215:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9110; /* aarch64_pred_srshlvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9120; /* aarch64_pred_srshlvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9130; /* aarch64_pred_srshlvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9140; /* aarch64_pred_srshlvnx2di */

        default:
          return -1;
        }

    case 182:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9111; /* aarch64_pred_uhaddvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9121; /* aarch64_pred_uhaddvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9131; /* aarch64_pred_uhaddvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9141; /* aarch64_pred_uhaddvnx2di */

        default:
          return -1;
        }

    case 186:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9112; /* aarch64_pred_uhsubvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9122; /* aarch64_pred_uhsubvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9132; /* aarch64_pred_uhsubvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9142; /* aarch64_pred_uhsubvnx2di */

        default:
          return -1;
        }

    case 218:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9113; /* aarch64_pred_uqrshlvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9123; /* aarch64_pred_uqrshlvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9133; /* aarch64_pred_uqrshlvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9143; /* aarch64_pred_uqrshlvnx2di */

        default:
          return -1;
        }

    case 184:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9114; /* aarch64_pred_urhaddvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9124; /* aarch64_pred_urhaddvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9134; /* aarch64_pred_urhaddvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9144; /* aarch64_pred_urhaddvnx2di */

        default:
          return -1;
        }

    case 216:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern582 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9115; /* aarch64_pred_urshlvnx16qi */

        case E_VNx8HImode:
          if (pattern582 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9125; /* aarch64_pred_urshlvnx8hi */

        case E_VNx4SImode:
          if (pattern582 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9135; /* aarch64_pred_urshlvnx4si */

        case E_VNx2DImode:
          if (pattern582 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9145; /* aarch64_pred_urshlvnx2di */

        default:
          return -1;
        }

    case 205:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern674 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9296; /* aarch64_pred_sqshlvnx16qi */

        case E_VNx8HImode:
          if (pattern674 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9298; /* aarch64_pred_sqshlvnx8hi */

        case E_VNx4SImode:
          if (pattern674 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9300; /* aarch64_pred_sqshlvnx4si */

        case E_VNx2DImode:
          if (pattern674 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9302; /* aarch64_pred_sqshlvnx2di */

        default:
          return -1;
        }

    case 206:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern674 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9297; /* aarch64_pred_uqshlvnx16qi */

        case E_VNx8HImode:
          if (pattern674 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9299; /* aarch64_pred_uqshlvnx8hi */

        case E_VNx4SImode:
          if (pattern674 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9301; /* aarch64_pred_uqshlvnx4si */

        case E_VNx2DImode:
          if (pattern674 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9303; /* aarch64_pred_uqshlvnx2di */

        default:
          return -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, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      switch (pattern423 (x2))
        {
        case 0:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4689; /* aarch64_load_x_extendvnx8hivnx8qi */

        case 1:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4693; /* aarch64_load_x_extendvnx4hivnx4qi */

        case 2:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4697; /* aarch64_load_x_extendvnx2hivnx2qi */

        case 3:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4701; /* aarch64_load_x_extendvnx4sivnx4qi */

        case 4:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4705; /* aarch64_load_x_extendvnx4sivnx4hi */

        case 5:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4709; /* aarch64_load_x_extendvnx2sivnx2qi */

        case 6:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4713; /* aarch64_load_x_extendvnx2sivnx2hi */

        case 7:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4717; /* aarch64_load_x_extendvnx2divnx2qi */

        case 8:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4721; /* aarch64_load_x_extendvnx2divnx2hi */

        case 9:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4725; /* aarch64_load_x_extendvnx2divnx2si */

        case 10:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4690; /* aarch64_load_extendvnx8hivnx8qi */

        case 11:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4694; /* aarch64_load_extendvnx4hivnx4qi */

        case 12:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4698; /* aarch64_load_extendvnx2hivnx2qi */

        case 13:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4702; /* aarch64_load_extendvnx4sivnx4qi */

        case 14:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4706; /* aarch64_load_extendvnx4sivnx4hi */

        case 15:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4710; /* aarch64_load_extendvnx2sivnx2qi */

        case 16:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4714; /* aarch64_load_extendvnx2sivnx2hi */

        case 17:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4718; /* aarch64_load_extendvnx2divnx2qi */

        case 18:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4722; /* aarch64_load_extendvnx2divnx2hi */

        case 19:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4726; /* aarch64_load_extendvnx2divnx2si */

        case 20:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4745; /* aarch64_ldff1_extendvnx8hivnx8qi */

        case 21:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4749; /* aarch64_ldff1_extendvnx4hivnx4qi */

        case 22:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4753; /* aarch64_ldff1_extendvnx2hivnx2qi */

        case 23:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4757; /* aarch64_ldff1_extendvnx4sivnx4qi */

        case 24:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4761; /* aarch64_ldff1_extendvnx4sivnx4hi */

        case 25:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4765; /* aarch64_ldff1_extendvnx2sivnx2qi */

        case 26:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4769; /* aarch64_ldff1_extendvnx2sivnx2hi */

        case 27:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4773; /* aarch64_ldff1_extendvnx2divnx2qi */

        case 28:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4777; /* aarch64_ldff1_extendvnx2divnx2hi */

        case 29:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4781; /* aarch64_ldff1_extendvnx2divnx2si */

        case 30:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4746; /* aarch64_ldnf1_extendvnx8hivnx8qi */

        case 31:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4750; /* aarch64_ldnf1_extendvnx4hivnx4qi */

        case 32:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4754; /* aarch64_ldnf1_extendvnx2hivnx2qi */

        case 33:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4758; /* aarch64_ldnf1_extendvnx4sivnx4qi */

        case 34:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4762; /* aarch64_ldnf1_extendvnx4sivnx4hi */

        case 35:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4766; /* aarch64_ldnf1_extendvnx2sivnx2qi */

        case 36:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4770; /* aarch64_ldnf1_extendvnx2sivnx2hi */

        case 37:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4774; /* aarch64_ldnf1_extendvnx2divnx2qi */

        case 38:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4778; /* aarch64_ldnf1_extendvnx2divnx2hi */

        case 39:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4782; /* aarch64_ldnf1_extendvnx2divnx2si */

        case 40:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4839; /* aarch64_gather_load_extendvnx4hivnx4qi */

        case 41:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4841; /* aarch64_gather_load_extendvnx4sivnx4qi */

        case 42:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4843; /* aarch64_gather_load_extendvnx4sivnx4hi */

        case 43:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4845; /* aarch64_gather_load_extendvnx2hivnx2qi */

        case 44:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4847; /* aarch64_gather_load_extendvnx2sivnx2qi */

        case 45:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4849; /* aarch64_gather_load_extendvnx2sivnx2hi */

        case 46:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4851; /* aarch64_gather_load_extendvnx2divnx2qi */

        case 47:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4853; /* aarch64_gather_load_extendvnx2divnx2hi */

        case 48:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4855; /* aarch64_gather_load_extendvnx2divnx2si */

        case 49:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4857; /* *aarch64_gather_load_extendvnx2hivnx2qi_sxtw_unpacked */

        case 50:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4861; /* *aarch64_gather_load_extendvnx2sivnx2qi_sxtw_unpacked */

        case 51:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4865; /* *aarch64_gather_load_extendvnx2sivnx2hi_sxtw_unpacked */

        case 52:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4869; /* *aarch64_gather_load_extendvnx2divnx2qi_sxtw_unpacked */

        case 53:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4873; /* *aarch64_gather_load_extendvnx2divnx2hi_sxtw_unpacked */

        case 54:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4877; /* *aarch64_gather_load_extendvnx2divnx2si_sxtw_unpacked */

        case 55:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4881; /* *aarch64_gather_load_extendvnx2hivnx2qi_sxtw */

        case 56:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4883; /* *aarch64_gather_load_extendvnx2sivnx2qi_sxtw */

        case 57:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4885; /* *aarch64_gather_load_extendvnx2sivnx2hi_sxtw */

        case 58:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4887; /* *aarch64_gather_load_extendvnx2divnx2qi_sxtw */

        case 59:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4889; /* *aarch64_gather_load_extendvnx2divnx2hi_sxtw */

        case 60:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4891; /* *aarch64_gather_load_extendvnx2divnx2si_sxtw */

        case 61:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4859; /* *aarch64_gather_load_extendvnx2hivnx2qi_uxtw_unpacked */

        case 62:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4863; /* *aarch64_gather_load_extendvnx2sivnx2qi_uxtw_unpacked */

        case 63:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4867; /* *aarch64_gather_load_extendvnx2sivnx2hi_uxtw_unpacked */

        case 64:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4871; /* *aarch64_gather_load_extendvnx2divnx2qi_uxtw_unpacked */

        case 65:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4875; /* *aarch64_gather_load_extendvnx2divnx2hi_uxtw_unpacked */

        case 66:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4879; /* *aarch64_gather_load_extendvnx2divnx2si_uxtw_unpacked */

        case 67:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4893; /* *aarch64_gather_load_extendvnx2hivnx2qi_uxtw */

        case 68:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4895; /* *aarch64_gather_load_extendvnx2sivnx2qi_uxtw */

        case 69:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4897; /* *aarch64_gather_load_extendvnx2sivnx2hi_uxtw */

        case 70:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4899; /* *aarch64_gather_load_extendvnx2divnx2qi_uxtw */

        case 71:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4901; /* *aarch64_gather_load_extendvnx2divnx2hi_uxtw */

        case 72:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4903; /* *aarch64_gather_load_extendvnx2divnx2si_uxtw */

        case 73:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4913; /* aarch64_ldff1_gather_extendvnx4sivnx4qi */

        case 74:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4915; /* aarch64_ldff1_gather_extendvnx4sivnx4hi */

        case 75:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4917; /* aarch64_ldff1_gather_extendvnx2divnx2qi */

        case 76:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4919; /* aarch64_ldff1_gather_extendvnx2divnx2hi */

        case 77:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4921; /* aarch64_ldff1_gather_extendvnx2divnx2si */

        case 78:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4923; /* *aarch64_ldff1_gather_extendvnx2divnx2qi_sxtw */

        case 79:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4925; /* *aarch64_ldff1_gather_extendvnx2divnx2hi_sxtw */

        case 80:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4927; /* *aarch64_ldff1_gather_extendvnx2divnx2si_sxtw */

        case 81:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4929; /* *aarch64_ldff1_gather_extendvnx2divnx2qi_uxtw */

        case 82:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4931; /* *aarch64_ldff1_gather_extendvnx2divnx2hi_uxtw */

        case 83:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4933; /* *aarch64_ldff1_gather_extendvnx2divnx2si_uxtw */

        case 84:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0))
            return -1;
          return 9080; /* aarch64_gather_ldnt_extendvnx4sivnx4qi */

        case 85:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0))
            return -1;
          return 9084; /* aarch64_gather_ldnt_extendvnx4sivnx4hi */

        case 86:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0))
            return -1;
          return 9082; /* aarch64_gather_ldnt_extendvnx2divnx2qi */

        case 87:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0))
            return -1;
          return 9086; /* aarch64_gather_ldnt_extendvnx2divnx2hi */

        case 88:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0))
            return -1;
          return 9088; /* aarch64_gather_ldnt_extendvnx2divnx2si */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      switch (pattern425 (x2))
        {
        case 0:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 5492; /* *extendvnx8qivnx8hi2 */

        case 1:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 5494; /* *extendvnx4qivnx4hi2 */

        case 2:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5496; /* *extendvnx2qivnx2hi2 */

        case 3:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 5498; /* *extendvnx4qivnx4si2 */

        case 4:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 5500; /* *extendvnx4hivnx4si2 */

        case 5:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5502; /* *extendvnx2qivnx2si2 */

        case 6:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5504; /* *extendvnx2hivnx2si2 */

        case 7:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5506; /* *extendvnx2qivnx2di2 */

        case 8:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5508; /* *extendvnx2hivnx2di2 */

        case 9:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5510; /* *extendvnx2sivnx2di2 */

        default:
          return -1;
        }

    case TRUNCATE:
      x5 = XVECEXP (x2, 0, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (!register_operand (operands[0], E_VNx8HImode)
              || GET_MODE (x2) != E_VNx8HImode
              || !register_operand (operands[1], E_VNx8BImode)
              || GET_MODE (x3) != E_VNx8HImode
              || GET_MODE (x4) != E_VNx8QImode
              || !register_operand (operands[2], E_VNx8HImode)
              || !
#line 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x81 & 0x81) == 0))
            return -1;
          return 5512; /* aarch64_pred_sxtvnx8hivnx8qi */

        case E_VNx4SImode:
          if (pattern575 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          switch (GET_MODE (x4))
            {
            case E_VNx4QImode:
              if (!
#line 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x41) == 0))
                return -1;
              return 5513; /* aarch64_pred_sxtvnx4sivnx4qi */

            case E_VNx4HImode:
              if (!
#line 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x42) == 0))
                return -1;
              return 5514; /* aarch64_pred_sxtvnx4sivnx4hi */

            default:
              return -1;
            }

        case E_VNx2DImode:
          if (pattern575 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          switch (GET_MODE (x4))
            {
            case E_VNx2QImode:
              if (!
#line 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x21) == 0))
                return -1;
              return 5515; /* aarch64_pred_sxtvnx2divnx2qi */

            case E_VNx2HImode:
              if (!
#line 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x22) == 0))
                return -1;
              return 5516; /* aarch64_pred_sxtvnx2divnx2hi */

            case E_VNx2SImode:
              if (!
#line 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x24) == 0))
                return -1;
              return 5517; /* aarch64_pred_sxtvnx2divnx2si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      switch (pattern423 (x2))
        {
        case 0:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4691; /* aarch64_load_x_zero_extendvnx8hivnx8qi */

        case 1:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4695; /* aarch64_load_x_zero_extendvnx4hivnx4qi */

        case 2:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4699; /* aarch64_load_x_zero_extendvnx2hivnx2qi */

        case 3:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4703; /* aarch64_load_x_zero_extendvnx4sivnx4qi */

        case 4:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4707; /* aarch64_load_x_zero_extendvnx4sivnx4hi */

        case 5:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4711; /* aarch64_load_x_zero_extendvnx2sivnx2qi */

        case 6:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4715; /* aarch64_load_x_zero_extendvnx2sivnx2hi */

        case 7:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4719; /* aarch64_load_x_zero_extendvnx2divnx2qi */

        case 8:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4723; /* aarch64_load_x_zero_extendvnx2divnx2hi */

        case 9:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4727; /* aarch64_load_x_zero_extendvnx2divnx2si */

        case 10:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4692; /* aarch64_load_zero_extendvnx8hivnx8qi */

        case 11:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4696; /* aarch64_load_zero_extendvnx4hivnx4qi */

        case 12:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4700; /* aarch64_load_zero_extendvnx2hivnx2qi */

        case 13:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4704; /* aarch64_load_zero_extendvnx4sivnx4qi */

        case 14:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4708; /* aarch64_load_zero_extendvnx4sivnx4hi */

        case 15:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4712; /* aarch64_load_zero_extendvnx2sivnx2qi */

        case 16:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4716; /* aarch64_load_zero_extendvnx2sivnx2hi */

        case 17:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4720; /* aarch64_load_zero_extendvnx2divnx2qi */

        case 18:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4724; /* aarch64_load_zero_extendvnx2divnx2hi */

        case 19:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4728; /* aarch64_load_zero_extendvnx2divnx2si */

        case 20:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4747; /* aarch64_ldff1_zero_extendvnx8hivnx8qi */

        case 21:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4751; /* aarch64_ldff1_zero_extendvnx4hivnx4qi */

        case 22:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4755; /* aarch64_ldff1_zero_extendvnx2hivnx2qi */

        case 23:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4759; /* aarch64_ldff1_zero_extendvnx4sivnx4qi */

        case 24:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4763; /* aarch64_ldff1_zero_extendvnx4sivnx4hi */

        case 25:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4767; /* aarch64_ldff1_zero_extendvnx2sivnx2qi */

        case 26:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4771; /* aarch64_ldff1_zero_extendvnx2sivnx2hi */

        case 27:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4775; /* aarch64_ldff1_zero_extendvnx2divnx2qi */

        case 28:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4779; /* aarch64_ldff1_zero_extendvnx2divnx2hi */

        case 29:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4783; /* aarch64_ldff1_zero_extendvnx2divnx2si */

        case 30:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4748; /* aarch64_ldnf1_zero_extendvnx8hivnx8qi */

        case 31:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4752; /* aarch64_ldnf1_zero_extendvnx4hivnx4qi */

        case 32:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4756; /* aarch64_ldnf1_zero_extendvnx2hivnx2qi */

        case 33:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4760; /* aarch64_ldnf1_zero_extendvnx4sivnx4qi */

        case 34:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4764; /* aarch64_ldnf1_zero_extendvnx4sivnx4hi */

        case 35:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4768; /* aarch64_ldnf1_zero_extendvnx2sivnx2qi */

        case 36:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4772; /* aarch64_ldnf1_zero_extendvnx2sivnx2hi */

        case 37:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4776; /* aarch64_ldnf1_zero_extendvnx2divnx2qi */

        case 38:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4780; /* aarch64_ldnf1_zero_extendvnx2divnx2hi */

        case 39:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4784; /* aarch64_ldnf1_zero_extendvnx2divnx2si */

        case 40:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4840; /* aarch64_gather_load_zero_extendvnx4hivnx4qi */

        case 41:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4842; /* aarch64_gather_load_zero_extendvnx4sivnx4qi */

        case 42:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4844; /* aarch64_gather_load_zero_extendvnx4sivnx4hi */

        case 43:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4846; /* aarch64_gather_load_zero_extendvnx2hivnx2qi */

        case 44:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4848; /* aarch64_gather_load_zero_extendvnx2sivnx2qi */

        case 45:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4850; /* aarch64_gather_load_zero_extendvnx2sivnx2hi */

        case 46:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4852; /* aarch64_gather_load_zero_extendvnx2divnx2qi */

        case 47:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4854; /* aarch64_gather_load_zero_extendvnx2divnx2hi */

        case 48:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4856; /* aarch64_gather_load_zero_extendvnx2divnx2si */

        case 49:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4858; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_sxtw_unpacked */

        case 50:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4862; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_sxtw_unpacked */

        case 51:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4866; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_sxtw_unpacked */

        case 52:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4870; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_sxtw_unpacked */

        case 53:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4874; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_sxtw_unpacked */

        case 54:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4878; /* *aarch64_gather_load_zero_extendvnx2divnx2si_sxtw_unpacked */

        case 55:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4882; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_sxtw */

        case 56:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4884; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_sxtw */

        case 57:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4886; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_sxtw */

        case 58:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4888; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_sxtw */

        case 59:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4890; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_sxtw */

        case 60:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4892; /* *aarch64_gather_load_zero_extendvnx2divnx2si_sxtw */

        case 61:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4860; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_uxtw_unpacked */

        case 62:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4864; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_uxtw_unpacked */

        case 63:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4868; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_uxtw_unpacked */

        case 64:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4872; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_uxtw_unpacked */

        case 65:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4876; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_uxtw_unpacked */

        case 66:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4880; /* *aarch64_gather_load_zero_extendvnx2divnx2si_uxtw_unpacked */

        case 67:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4894; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_uxtw */

        case 68:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4896; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_uxtw */

        case 69:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4898; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_uxtw */

        case 70:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4900; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_uxtw */

        case 71:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4902; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_uxtw */

        case 72:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4904; /* *aarch64_gather_load_zero_extendvnx2divnx2si_uxtw */

        case 73:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4914; /* aarch64_ldff1_gather_zero_extendvnx4sivnx4qi */

        case 74:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4916; /* aarch64_ldff1_gather_zero_extendvnx4sivnx4hi */

        case 75:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4918; /* aarch64_ldff1_gather_zero_extendvnx2divnx2qi */

        case 76:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4920; /* aarch64_ldff1_gather_zero_extendvnx2divnx2hi */

        case 77:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4922; /* aarch64_ldff1_gather_zero_extendvnx2divnx2si */

        case 78:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4924; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2qi_sxtw */

        case 79:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4926; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2hi_sxtw */

        case 80:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4928; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2si_sxtw */

        case 81:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4930; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2qi_uxtw */

        case 82:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4932; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2hi_uxtw */

        case 83:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4934; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2si_uxtw */

        case 84:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0))
            return -1;
          return 9081; /* aarch64_gather_ldnt_zero_extendvnx4sivnx4qi */

        case 85:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0))
            return -1;
          return 9085; /* aarch64_gather_ldnt_zero_extendvnx4sivnx4hi */

        case 86:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0))
            return -1;
          return 9083; /* aarch64_gather_ldnt_zero_extendvnx2divnx2qi */

        case 87:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0))
            return -1;
          return 9087; /* aarch64_gather_ldnt_zero_extendvnx2divnx2hi */

        case 88:
          if (!
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0))
            return -1;
          return 9089; /* aarch64_gather_ldnt_zero_extendvnx2divnx2si */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      switch (pattern425 (x2))
        {
        case 0:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 5493; /* *zero_extendvnx8qivnx8hi2 */

        case 1:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 5495; /* *zero_extendvnx4qivnx4hi2 */

        case 2:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5497; /* *zero_extendvnx2qivnx2hi2 */

        case 3:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 5499; /* *zero_extendvnx4qivnx4si2 */

        case 4:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 5501; /* *zero_extendvnx4hivnx4si2 */

        case 5:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5503; /* *zero_extendvnx2qivnx2si2 */

        case 6:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5505; /* *zero_extendvnx2hivnx2si2 */

        case 7:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5507; /* *zero_extendvnx2qivnx2di2 */

        case 8:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5509; /* *zero_extendvnx2hivnx2di2 */

        case 9:
          if (!
#line 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5511; /* *zero_extendvnx2sivnx2di2 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  switch (XVECLEN (x4, 0))
    {
    case 1:
      x5 = XVECEXP (x4, 0, 0);
      operands[2] = x5;
      switch (XINT (x4, 1))
        {
        case 66:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern585 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
                return -1;
              return 5455; /* aarch64_pred_rbitvnx16qi */

            case E_VNx8HImode:
              if (pattern585 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 8))
                return -1;
              return 5456; /* aarch64_pred_rbitvnx8hi */

            case E_VNx4SImode:
              if (pattern585 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 8))
                return -1;
              return 5458; /* aarch64_pred_rbitvnx4si */

            case E_VNx2DImode:
              if (pattern585 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
                return -1;
              return 5461; /* aarch64_pred_rbitvnx2di */

            default:
              return -1;
            }

        case 300:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern585 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return -1;
              return 5457; /* aarch64_pred_revbvnx8hi */

            case E_VNx4SImode:
              if (pattern585 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return -1;
              return 5459; /* aarch64_pred_revbvnx4si */

            case E_VNx2DImode:
              if (pattern585 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return -1;
              return 5462; /* aarch64_pred_revbvnx2di */

            default:
              return -1;
            }

        case 301:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SImode:
              if (pattern585 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return -1;
              return 5460; /* aarch64_pred_revhvnx4si */

            case E_VNx2DImode:
              if (pattern585 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return -1;
              return 5463; /* aarch64_pred_revhvnx2di */

            default:
              return -1;
            }

        case 302:
          if (pattern576 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
            return -1;
          return 5464; /* aarch64_pred_revwvnx2di */

        case 303:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (!register_operand (operands[0], E_VNx16QImode)
                  || GET_MODE (x2) != E_VNx16QImode
                  || GET_MODE (x4) != E_VNx16QImode
                  || !register_operand (operands[2], E_VNx16QImode))
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_VNx8BImode:
                  if (!register_operand (operands[1], E_VNx8BImode)
                      || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 > 8))
                    return -1;
                  return 5465; /* aarch64_sve_revbhw_vnx16qivnx8bi */

                case E_VNx4BImode:
                  if (!register_operand (operands[1], E_VNx4BImode)
                      || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 8))
                    return -1;
                  return 5466; /* aarch64_sve_revbhw_vnx16qivnx4bi */

                case E_VNx2BImode:
                  if (!register_operand (operands[1], E_VNx2BImode)
                      || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 8))
                    return -1;
                  return 5471; /* aarch64_sve_revbhw_vnx16qivnx2bi */

                default:
                  return -1;
                }

            case E_VNx8QImode:
              switch (pattern630 (x2, E_VNx8QImode))
                {
                case 0:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5467; /* aarch64_sve_revbhw_vnx8qivnx4bi */

                case 1:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5472; /* aarch64_sve_revbhw_vnx8qivnx2bi */

                default:
                  return -1;
                }

            case E_VNx8HImode:
              switch (pattern630 (x2, E_VNx8HImode))
                {
                case 0:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5468; /* aarch64_sve_revbhw_vnx8hivnx4bi */

                case 1:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5474; /* aarch64_sve_revbhw_vnx8hivnx2bi */

                default:
                  return -1;
                }

            case E_VNx8HFmode:
              switch (pattern630 (x2, E_VNx8HFmode))
                {
                case 0:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5469; /* aarch64_sve_revbhw_vnx8hfvnx4bi */

                case 1:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5476; /* aarch64_sve_revbhw_vnx8hfvnx2bi */

                default:
                  return -1;
                }

            case E_VNx8BFmode:
              switch (pattern630 (x2, E_VNx8BFmode))
                {
                case 0:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5470; /* aarch64_sve_revbhw_vnx8bfvnx4bi */

                case 1:
                  if (!
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5478; /* aarch64_sve_revbhw_vnx8bfvnx2bi */

                default:
                  return -1;
                }

            case E_VNx4QImode:
              if (pattern585 (x2, E_VNx4QImode, E_VNx2BImode) != 0
                  || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5473; /* aarch64_sve_revbhw_vnx4qivnx2bi */

            case E_VNx4HImode:
              if (pattern585 (x2, E_VNx4HImode, E_VNx2BImode) != 0
                  || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5475; /* aarch64_sve_revbhw_vnx4hivnx2bi */

            case E_VNx4HFmode:
              if (pattern585 (x2, E_VNx4HFmode, E_VNx2BImode) != 0
                  || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5477; /* aarch64_sve_revbhw_vnx4hfvnx2bi */

            case E_VNx4BFmode:
              if (pattern585 (x2, E_VNx4BFmode, E_VNx2BImode) != 0
                  || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5479; /* aarch64_sve_revbhw_vnx4bfvnx2bi */

            case E_VNx4SImode:
              if (pattern585 (x2, E_VNx4SImode, E_VNx2BImode) != 0
                  || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5480; /* aarch64_sve_revbhw_vnx4sivnx2bi */

            case E_VNx4SFmode:
              if (pattern585 (x2, E_VNx4SFmode, E_VNx2BImode) != 0
                  || !
#line 3030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5481; /* aarch64_sve_revbhw_vnx4sfvnx2bi */

            default:
              return -1;
            }

        case 22:
          if (pattern576 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2141 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9890; /* aarch64_pred_urecpevnx4si */

        case 104:
          if (pattern576 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2141 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9891; /* aarch64_pred_ursqrtevnx4si */

        default:
          return -1;
        }

    case 2:
      return recog_58 (x1, insn, pnum_clobbers);

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern311 (x2))
    {
    case 0:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16QImode)
       || register_operand (operands[2], VNx16QImode))))
        return -1;
      return 4495; /* aarch64_pred_movvnx16qi */

    case 1:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8QImode)
       || register_operand (operands[2], VNx8QImode))))
        return -1;
      return 4496; /* aarch64_pred_movvnx8qi */

    case 2:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4QImode)
       || register_operand (operands[2], VNx4QImode))))
        return -1;
      return 4497; /* aarch64_pred_movvnx4qi */

    case 3:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2QImode)
       || register_operand (operands[2], VNx2QImode))))
        return -1;
      return 4498; /* aarch64_pred_movvnx2qi */

    case 4:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HImode)
       || register_operand (operands[2], VNx8HImode))))
        return -1;
      return 4499; /* aarch64_pred_movvnx8hi */

    case 5:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HImode)
       || register_operand (operands[2], VNx4HImode))))
        return -1;
      return 4500; /* aarch64_pred_movvnx4hi */

    case 6:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HImode)
       || register_operand (operands[2], VNx2HImode))))
        return -1;
      return 4501; /* aarch64_pred_movvnx2hi */

    case 7:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HFmode)
       || register_operand (operands[2], VNx8HFmode))))
        return -1;
      return 4502; /* aarch64_pred_movvnx8hf */

    case 8:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HFmode)
       || register_operand (operands[2], VNx4HFmode))))
        return -1;
      return 4503; /* aarch64_pred_movvnx4hf */

    case 9:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HFmode)
       || register_operand (operands[2], VNx2HFmode))))
        return -1;
      return 4504; /* aarch64_pred_movvnx2hf */

    case 10:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8BFmode)
       || register_operand (operands[2], VNx8BFmode))))
        return -1;
      return 4505; /* aarch64_pred_movvnx8bf */

    case 11:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4BFmode)
       || register_operand (operands[2], VNx4BFmode))))
        return -1;
      return 4506; /* aarch64_pred_movvnx4bf */

    case 12:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2BFmode)
       || register_operand (operands[2], VNx2BFmode))))
        return -1;
      return 4507; /* aarch64_pred_movvnx2bf */

    case 13:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SImode)
       || register_operand (operands[2], VNx4SImode))))
        return -1;
      return 4508; /* aarch64_pred_movvnx4si */

    case 14:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SImode)
       || register_operand (operands[2], VNx2SImode))))
        return -1;
      return 4509; /* aarch64_pred_movvnx2si */

    case 15:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SFmode)
       || register_operand (operands[2], VNx4SFmode))))
        return -1;
      return 4510; /* aarch64_pred_movvnx4sf */

    case 16:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SFmode)
       || register_operand (operands[2], VNx2SFmode))))
        return -1;
      return 4511; /* aarch64_pred_movvnx2sf */

    case 17:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DImode)
       || register_operand (operands[2], VNx2DImode))))
        return -1;
      return 4512; /* aarch64_pred_movvnx2di */

    case 18:
      if (!
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DFmode)
       || register_operand (operands[2], VNx2DFmode))))
        return -1;
      return 4513; /* aarch64_pred_movvnx2df */

    case 19:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32QImode)
       || register_operand (operands[2], VNx32QImode))))
        return -1;
      return 4600; /* aarch64_pred_movvnx32qi */

    case 20:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HImode)
       || register_operand (operands[2], VNx16HImode))))
        return -1;
      return 4601; /* aarch64_pred_movvnx16hi */

    case 21:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SImode)
       || register_operand (operands[2], VNx8SImode))))
        return -1;
      return 4602; /* aarch64_pred_movvnx8si */

    case 22:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DImode)
       || register_operand (operands[2], VNx4DImode))))
        return -1;
      return 4603; /* aarch64_pred_movvnx4di */

    case 23:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16BFmode)
       || register_operand (operands[2], VNx16BFmode))))
        return -1;
      return 4604; /* aarch64_pred_movvnx16bf */

    case 24:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HFmode)
       || register_operand (operands[2], VNx16HFmode))))
        return -1;
      return 4605; /* aarch64_pred_movvnx16hf */

    case 25:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SFmode)
       || register_operand (operands[2], VNx8SFmode))))
        return -1;
      return 4606; /* aarch64_pred_movvnx8sf */

    case 26:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DFmode)
       || register_operand (operands[2], VNx4DFmode))))
        return -1;
      return 4607; /* aarch64_pred_movvnx4df */

    case 27:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx48QImode)
       || register_operand (operands[2], VNx48QImode))))
        return -1;
      return 4608; /* aarch64_pred_movvnx48qi */

    case 28:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HImode)
       || register_operand (operands[2], VNx24HImode))))
        return -1;
      return 4609; /* aarch64_pred_movvnx24hi */

    case 29:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SImode)
       || register_operand (operands[2], VNx12SImode))))
        return -1;
      return 4610; /* aarch64_pred_movvnx12si */

    case 30:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DImode)
       || register_operand (operands[2], VNx6DImode))))
        return -1;
      return 4611; /* aarch64_pred_movvnx6di */

    case 31:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24BFmode)
       || register_operand (operands[2], VNx24BFmode))))
        return -1;
      return 4612; /* aarch64_pred_movvnx24bf */

    case 32:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HFmode)
       || register_operand (operands[2], VNx24HFmode))))
        return -1;
      return 4613; /* aarch64_pred_movvnx24hf */

    case 33:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SFmode)
       || register_operand (operands[2], VNx12SFmode))))
        return -1;
      return 4614; /* aarch64_pred_movvnx12sf */

    case 34:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DFmode)
       || register_operand (operands[2], VNx6DFmode))))
        return -1;
      return 4615; /* aarch64_pred_movvnx6df */

    case 35:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx64QImode)
       || register_operand (operands[2], VNx64QImode))))
        return -1;
      return 4616; /* aarch64_pred_movvnx64qi */

    case 36:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HImode)
       || register_operand (operands[2], VNx32HImode))))
        return -1;
      return 4617; /* aarch64_pred_movvnx32hi */

    case 37:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SImode)
       || register_operand (operands[2], VNx16SImode))))
        return -1;
      return 4618; /* aarch64_pred_movvnx16si */

    case 38:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DImode)
       || register_operand (operands[2], VNx8DImode))))
        return -1;
      return 4619; /* aarch64_pred_movvnx8di */

    case 39:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32BFmode)
       || register_operand (operands[2], VNx32BFmode))))
        return -1;
      return 4620; /* aarch64_pred_movvnx32bf */

    case 40:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HFmode)
       || register_operand (operands[2], VNx32HFmode))))
        return -1;
      return 4621; /* aarch64_pred_movvnx32hf */

    case 41:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SFmode)
       || register_operand (operands[2], VNx16SFmode))))
        return -1;
      return 4622; /* aarch64_pred_movvnx16sf */

    case 42:
      if (!
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DFmode)
       || register_operand (operands[2], VNx8DFmode))))
        return -1;
      return 4623; /* aarch64_pred_movvnx8df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[2] = x4;
      x5 = XVECEXP (x2, 0, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern312 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5217; /* aarch64_pred_one_cmplvnx16qi */

        case E_VNx8QImode:
          if (pattern312 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5225; /* aarch64_pred_one_cmplvnx8qi */

        case E_VNx4QImode:
          if (pattern312 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5233; /* aarch64_pred_one_cmplvnx4qi */

        case E_VNx2QImode:
          if (pattern312 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5241; /* aarch64_pred_one_cmplvnx2qi */

        case E_VNx8HImode:
          if (pattern312 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5249; /* aarch64_pred_one_cmplvnx8hi */

        case E_VNx4HImode:
          if (pattern312 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5257; /* aarch64_pred_one_cmplvnx4hi */

        case E_VNx2HImode:
          if (pattern312 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5265; /* aarch64_pred_one_cmplvnx2hi */

        case E_VNx4SImode:
          if (pattern312 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5273; /* aarch64_pred_one_cmplvnx4si */

        case E_VNx2SImode:
          if (pattern312 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5281; /* aarch64_pred_one_cmplvnx2si */

        case E_VNx2DImode:
          if (pattern312 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5289; /* aarch64_pred_one_cmplvnx2di */

        default:
          return -1;
        }

    case XOR:
      switch (pattern427 (x2))
        {
        case 0:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9400; /* *aarch64_sve2_nbslvnx16qi */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9401; /* *aarch64_sve2_nbslvnx16qi */

        case 1:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9402; /* *aarch64_sve2_nbslvnx8hi */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9403; /* *aarch64_sve2_nbslvnx8hi */

        case 2:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9404; /* *aarch64_sve2_nbslvnx4si */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9405; /* *aarch64_sve2_nbslvnx4si */

        case 3:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9406; /* *aarch64_sve2_nbslvnx2di */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9407; /* *aarch64_sve2_nbslvnx2di */

        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      return recog_62 (x1, insn, pnum_clobbers);

    case SIGN_EXTEND:
      return recog_59 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_60 (x1, insn, pnum_clobbers);

    case ABS:
      switch (pattern313 (x3))
        {
        case 0:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5215; /* aarch64_pred_absvnx16qi */

        case 1:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5223; /* aarch64_pred_absvnx8qi */

        case 2:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5231; /* aarch64_pred_absvnx4qi */

        case 3:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5239; /* aarch64_pred_absvnx2qi */

        case 4:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5247; /* aarch64_pred_absvnx8hi */

        case 5:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5255; /* aarch64_pred_absvnx4hi */

        case 6:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5263; /* aarch64_pred_absvnx2hi */

        case 7:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5271; /* aarch64_pred_absvnx4si */

        case 8:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5279; /* aarch64_pred_absvnx2si */

        case 9:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5287; /* aarch64_pred_absvnx2di */

        default:
          return -1;
        }

    case NEG:
      switch (pattern313 (x3))
        {
        case 0:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5216; /* aarch64_pred_negvnx16qi */

        case 1:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5224; /* aarch64_pred_negvnx8qi */

        case 2:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5232; /* aarch64_pred_negvnx4qi */

        case 3:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5240; /* aarch64_pred_negvnx2qi */

        case 4:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5248; /* aarch64_pred_negvnx8hi */

        case 5:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5256; /* aarch64_pred_negvnx4hi */

        case 6:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5264; /* aarch64_pred_negvnx2hi */

        case 7:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5272; /* aarch64_pred_negvnx4si */

        case 8:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5280; /* aarch64_pred_negvnx2si */

        case 9:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5288; /* aarch64_pred_negvnx2di */

        default:
          return -1;
        }

    case NOT:
      return recog_63 (x1, insn, pnum_clobbers);

    case CLRSB:
      switch (pattern313 (x3))
        {
        case 0:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5218; /* aarch64_pred_clrsbvnx16qi */

        case 1:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5226; /* aarch64_pred_clrsbvnx8qi */

        case 2:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5234; /* aarch64_pred_clrsbvnx4qi */

        case 3:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5242; /* aarch64_pred_clrsbvnx2qi */

        case 4:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5250; /* aarch64_pred_clrsbvnx8hi */

        case 5:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5258; /* aarch64_pred_clrsbvnx4hi */

        case 6:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5266; /* aarch64_pred_clrsbvnx2hi */

        case 7:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5274; /* aarch64_pred_clrsbvnx4si */

        case 8:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5282; /* aarch64_pred_clrsbvnx2si */

        case 9:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5290; /* aarch64_pred_clrsbvnx2di */

        default:
          return -1;
        }

    case CLZ:
      switch (pattern313 (x3))
        {
        case 0:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5219; /* aarch64_pred_clzvnx16qi */

        case 1:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5227; /* aarch64_pred_clzvnx8qi */

        case 2:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5235; /* aarch64_pred_clzvnx4qi */

        case 3:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5243; /* aarch64_pred_clzvnx2qi */

        case 4:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5251; /* aarch64_pred_clzvnx8hi */

        case 5:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5259; /* aarch64_pred_clzvnx4hi */

        case 6:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5267; /* aarch64_pred_clzvnx2hi */

        case 7:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5275; /* aarch64_pred_clzvnx4si */

        case 8:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5283; /* aarch64_pred_clzvnx2si */

        case 9:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5291; /* aarch64_pred_clzvnx2di */

        default:
          return -1;
        }

    case POPCOUNT:
      switch (pattern313 (x3))
        {
        case 0:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5220; /* aarch64_pred_popcountvnx16qi */

        case 1:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5228; /* aarch64_pred_popcountvnx8qi */

        case 2:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5236; /* aarch64_pred_popcountvnx4qi */

        case 3:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5244; /* aarch64_pred_popcountvnx2qi */

        case 4:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5252; /* aarch64_pred_popcountvnx8hi */

        case 5:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5260; /* aarch64_pred_popcountvnx4hi */

        case 6:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5268; /* aarch64_pred_popcountvnx2hi */

        case 7:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5276; /* aarch64_pred_popcountvnx4si */

        case 8:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5284; /* aarch64_pred_popcountvnx2si */

        case 9:
          if (!
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5292; /* aarch64_pred_popcountvnx2di */

        default:
          return -1;
        }

    case SS_ABS:
      switch (pattern313 (x3))
        {
        case 0:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5221; /* aarch64_pred_qabsvnx16qi */

        case 1:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5229; /* aarch64_pred_qabsvnx8qi */

        case 2:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5237; /* aarch64_pred_qabsvnx4qi */

        case 3:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5245; /* aarch64_pred_qabsvnx2qi */

        case 4:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5253; /* aarch64_pred_qabsvnx8hi */

        case 5:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5261; /* aarch64_pred_qabsvnx4hi */

        case 6:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5269; /* aarch64_pred_qabsvnx2hi */

        case 7:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5277; /* aarch64_pred_qabsvnx4si */

        case 8:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5285; /* aarch64_pred_qabsvnx2si */

        case 9:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5293; /* aarch64_pred_qabsvnx2di */

        default:
          return -1;
        }

    case SS_NEG:
      switch (pattern313 (x3))
        {
        case 0:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5222; /* aarch64_pred_qnegvnx16qi */

        case 1:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5230; /* aarch64_pred_qnegvnx8qi */

        case 2:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5238; /* aarch64_pred_qnegvnx4qi */

        case 3:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5246; /* aarch64_pred_qnegvnx2qi */

        case 4:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5254; /* aarch64_pred_qnegvnx8hi */

        case 5:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5262; /* aarch64_pred_qnegvnx4hi */

        case 6:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5270; /* aarch64_pred_qnegvnx2hi */

        case 7:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5278; /* aarch64_pred_qnegvnx4si */

        case 8:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5286; /* aarch64_pred_qnegvnx2si */

        case 9:
          if (!(
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5294; /* aarch64_pred_qnegvnx2di */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_61 (x1, insn, pnum_clobbers);

    case MULT:
      switch (pattern315 (x3))
        {
        case 0:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5762; /* aarch64_pred_mulvnx16qi */

        case 1:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5767; /* aarch64_pred_mulvnx8qi */

        case 2:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5772; /* aarch64_pred_mulvnx4qi */

        case 3:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5777; /* aarch64_pred_mulvnx2qi */

        case 4:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5782; /* aarch64_pred_mulvnx8hi */

        case 5:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5787; /* aarch64_pred_mulvnx4hi */

        case 6:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5792; /* aarch64_pred_mulvnx2hi */

        case 7:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5797; /* aarch64_pred_mulvnx4si */

        case 8:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5802; /* aarch64_pred_mulvnx2si */

        case 9:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5807; /* aarch64_pred_mulvnx2di */

        default:
          return -1;
        }

    case SMAX:
      switch (pattern315 (x3))
        {
        case 0:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5763; /* aarch64_pred_smaxvnx16qi */

        case 1:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5768; /* aarch64_pred_smaxvnx8qi */

        case 2:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5773; /* aarch64_pred_smaxvnx4qi */

        case 3:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5778; /* aarch64_pred_smaxvnx2qi */

        case 4:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5783; /* aarch64_pred_smaxvnx8hi */

        case 5:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5788; /* aarch64_pred_smaxvnx4hi */

        case 6:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5793; /* aarch64_pred_smaxvnx2hi */

        case 7:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5798; /* aarch64_pred_smaxvnx4si */

        case 8:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5803; /* aarch64_pred_smaxvnx2si */

        case 9:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5808; /* aarch64_pred_smaxvnx2di */

        default:
          return -1;
        }

    case SMIN:
      switch (pattern315 (x3))
        {
        case 0:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5764; /* aarch64_pred_sminvnx16qi */

        case 1:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5769; /* aarch64_pred_sminvnx8qi */

        case 2:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5774; /* aarch64_pred_sminvnx4qi */

        case 3:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5779; /* aarch64_pred_sminvnx2qi */

        case 4:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5784; /* aarch64_pred_sminvnx8hi */

        case 5:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5789; /* aarch64_pred_sminvnx4hi */

        case 6:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5794; /* aarch64_pred_sminvnx2hi */

        case 7:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5799; /* aarch64_pred_sminvnx4si */

        case 8:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5804; /* aarch64_pred_sminvnx2si */

        case 9:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5809; /* aarch64_pred_sminvnx2di */

        default:
          return -1;
        }

    case UMAX:
      switch (pattern317 (x3))
        {
        case 0:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5765; /* aarch64_pred_umaxvnx16qi */

        case 1:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5770; /* aarch64_pred_umaxvnx8qi */

        case 2:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5775; /* aarch64_pred_umaxvnx4qi */

        case 3:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5780; /* aarch64_pred_umaxvnx2qi */

        case 4:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5785; /* aarch64_pred_umaxvnx8hi */

        case 5:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5790; /* aarch64_pred_umaxvnx4hi */

        case 6:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5795; /* aarch64_pred_umaxvnx2hi */

        case 7:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5800; /* aarch64_pred_umaxvnx4si */

        case 8:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5805; /* aarch64_pred_umaxvnx2si */

        case 9:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5810; /* aarch64_pred_umaxvnx2di */

        default:
          return -1;
        }

    case UMIN:
      switch (pattern317 (x3))
        {
        case 0:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5766; /* aarch64_pred_uminvnx16qi */

        case 1:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5771; /* aarch64_pred_uminvnx8qi */

        case 2:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5776; /* aarch64_pred_uminvnx4qi */

        case 3:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5781; /* aarch64_pred_uminvnx2qi */

        case 4:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5786; /* aarch64_pred_uminvnx8hi */

        case 5:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5791; /* aarch64_pred_uminvnx4hi */

        case 6:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5796; /* aarch64_pred_uminvnx2hi */

        case 7:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5801; /* aarch64_pred_uminvnx4si */

        case 8:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5806; /* aarch64_pred_uminvnx2si */

        case 9:
          if (!
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5811; /* aarch64_pred_uminvnx2di */

        default:
          return -1;
        }

    case DIV:
      switch (pattern319 (x3))
        {
        case 0:
          if (!
#line 4313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6538; /* aarch64_pred_divvnx4si */

        case 1:
          if (!
#line 4313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6540; /* aarch64_pred_divvnx2di */

        default:
          return -1;
        }

    case UDIV:
      switch (pattern319 (x3))
        {
        case 0:
          if (!
#line 4313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6539; /* aarch64_pred_udivvnx4si */

        case 1:
          if (!
#line 4313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6541; /* aarch64_pred_udivvnx2di */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern321 (x3))
        {
        case 0:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6614; /* aarch64_pred_ashlvnx16qi */

        case 1:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6617; /* aarch64_pred_ashlvnx8qi */

        case 2:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6620; /* aarch64_pred_ashlvnx4qi */

        case 3:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6623; /* aarch64_pred_ashlvnx2qi */

        case 4:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6626; /* aarch64_pred_ashlvnx8hi */

        case 5:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6629; /* aarch64_pred_ashlvnx4hi */

        case 6:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6632; /* aarch64_pred_ashlvnx2hi */

        case 7:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6635; /* aarch64_pred_ashlvnx4si */

        case 8:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6638; /* aarch64_pred_ashlvnx2si */

        case 9:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6641; /* aarch64_pred_ashlvnx2di */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern323 (x3))
        {
        case 0:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6615; /* aarch64_pred_ashrvnx16qi */

        case 1:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6618; /* aarch64_pred_ashrvnx8qi */

        case 2:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6621; /* aarch64_pred_ashrvnx4qi */

        case 3:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6624; /* aarch64_pred_ashrvnx2qi */

        case 4:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6627; /* aarch64_pred_ashrvnx8hi */

        case 5:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6630; /* aarch64_pred_ashrvnx4hi */

        case 6:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6633; /* aarch64_pred_ashrvnx2hi */

        case 7:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6636; /* aarch64_pred_ashrvnx4si */

        case 8:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6639; /* aarch64_pred_ashrvnx2si */

        case 9:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6642; /* aarch64_pred_ashrvnx2di */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern323 (x3))
        {
        case 0:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6616; /* aarch64_pred_lshrvnx16qi */

        case 1:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6619; /* aarch64_pred_lshrvnx8qi */

        case 2:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6622; /* aarch64_pred_lshrvnx4qi */

        case 3:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6625; /* aarch64_pred_lshrvnx2qi */

        case 4:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6628; /* aarch64_pred_lshrvnx8hi */

        case 5:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6631; /* aarch64_pred_lshrvnx4hi */

        case 6:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6634; /* aarch64_pred_lshrvnx2hi */

        case 7:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6637; /* aarch64_pred_lshrvnx4si */

        case 8:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6640; /* aarch64_pred_lshrvnx2si */

        case 9:
          if (!
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6643; /* aarch64_pred_lshrvnx2di */

        default:
          return -1;
        }

    case AND:
      switch (pattern325 (x3))
        {
        case 0:
          if (!
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9384; /* *aarch64_sve2_norvnx16qi */

        case 1:
          if (!
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9385; /* *aarch64_sve2_norvnx8hi */

        case 2:
          if (!
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9386; /* *aarch64_sve2_norvnx4si */

        case 3:
          if (!
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9387; /* *aarch64_sve2_norvnx2di */

        default:
          return -1;
        }

    case IOR:
      switch (pattern325 (x3))
        {
        case 0:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9388; /* *aarch64_sve2_nandvnx16qi */

        case 1:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9389; /* *aarch64_sve2_nandvnx8hi */

        case 2:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9390; /* *aarch64_sve2_nandvnx4si */

        case 3:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9391; /* *aarch64_sve2_nandvnx2di */

        default:
          return -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, x11;
  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);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V4HFmode:
          if (pattern61 (x3, E_V4HFmode) != 0
              || !(
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2734; /* aarch64_fmulxv4hf */

        case E_V8HFmode:
          if (pattern61 (x3, E_V8HFmode) != 0
              || !(
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2735; /* aarch64_fmulxv8hf */

        case E_V2SFmode:
          if (pattern61 (x3, E_V2SFmode) != 0
              || !
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2736; /* aarch64_fmulxv2sf */

        case E_V4SFmode:
          if (pattern61 (x3, E_V4SFmode) != 0
              || !
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2737; /* aarch64_fmulxv4sf */

        case E_V2DFmode:
          if (pattern61 (x3, E_V2DFmode) != 0
              || !
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2738; /* aarch64_fmulxv2df */

        case E_HFmode:
          if (pattern61 (x3, E_HFmode) != 0
              || !(
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2739; /* aarch64_fmulxhf */

        case E_SFmode:
          if (pattern61 (x3, E_SFmode) != 0
              || !
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2740; /* aarch64_fmulxsf */

        case E_DFmode:
          if (pattern61 (x3, E_DFmode) != 0
              || !
#line 4892 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2741; /* aarch64_fmulxdf */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x6 = XEXP (x5, 0);
      switch (GET_CODE (x6))
        {
        case VEC_SELECT:
          x7 = XEXP (x6, 1);
          if (GET_CODE (x7) != PARALLEL
              || XVECLEN (x7, 0) != 1)
            return -1;
          x8 = XEXP (x6, 0);
          operands[2] = x8;
          x9 = XVECEXP (x7, 0, 0);
          operands[3] = x9;
          if (!immediate_operand (operands[3], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_V2SFmode:
              if (pattern748 (x3, E_V2SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case E_V4SFmode:
                  if (!register_operand (operands[2], E_V4SFmode)
                      || !
#line 4908 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2742; /* *aarch64_mulx_elt_to_128v2sf */

                case E_V2SFmode:
                  if (!register_operand (operands[2], E_V2SFmode)
                      || !
#line 4927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2744; /* *aarch64_mulx_eltv2sf */

                default:
                  return -1;
                }

            case E_V4SFmode:
              if (pattern748 (x3, E_V4SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case E_V2SFmode:
                  if (!register_operand (operands[2], E_V2SFmode)
                      || !
#line 4908 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2743; /* *aarch64_mulx_elt_to_64v4sf */

                case E_V4SFmode:
                  if (!register_operand (operands[2], E_V4SFmode)
                      || !
#line 4927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2745; /* *aarch64_mulx_eltv4sf */

                default:
                  return -1;
                }

            case E_V2DFmode:
              if (!register_operand (operands[0], E_V2DFmode)
                  || GET_MODE (x3) != E_V2DFmode
                  || !register_operand (operands[1], E_V2DFmode)
                  || GET_MODE (x5) != E_V2DFmode
                  || GET_MODE (x6) != E_DFmode
                  || !register_operand (operands[2], E_V2DFmode)
                  || !
#line 4927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2746; /* *aarch64_mulx_eltv2df */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HFmode:
              if (pattern80 (x3, E_HFmode, E_V4HFmode) != 0
                  || !(
#line 4944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2747; /* *aarch64_mulx_elt_from_dupv4hf */

            case E_V8HFmode:
              if (pattern80 (x3, E_HFmode, E_V8HFmode) != 0
                  || !(
#line 4944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2748; /* *aarch64_mulx_elt_from_dupv8hf */

            case E_V2SFmode:
              if (pattern80 (x3, E_SFmode, E_V2SFmode) != 0
                  || !
#line 4944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2749; /* *aarch64_mulx_elt_from_dupv2sf */

            case E_V4SFmode:
              if (pattern80 (x3, E_SFmode, E_V4SFmode) != 0
                  || !
#line 4944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2750; /* *aarch64_mulx_elt_from_dupv4sf */

            case E_V2DFmode:
              if (pattern80 (x3, E_DFmode, E_V2DFmode) != 0
                  || !
#line 4944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2751; /* *aarch64_mulx_elt_from_dupv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x10 = XEXP (x5, 1);
      if (GET_CODE (x10) != PARALLEL
          || XVECLEN (x10, 0) != 1)
        return -1;
      x6 = XEXP (x5, 0);
      operands[2] = x6;
      x11 = XVECEXP (x10, 0, 0);
      operands[3] = x11;
      if (!immediate_operand (operands[3], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SFmode:
          if (!register_operand (operands[0], E_SFmode)
              || GET_MODE (x3) != E_SFmode
              || !register_operand (operands[1], E_SFmode)
              || GET_MODE (x5) != E_SFmode)
            return -1;
          switch (GET_MODE (operands[2]))
            {
            case E_V2SFmode:
              if (!register_operand (operands[2], E_V2SFmode)
                  || !
#line 4961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2752; /* *aarch64_vgetfmulxv2sf */

            case E_V4SFmode:
              if (!register_operand (operands[2], E_V4SFmode)
                  || !
#line 4961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2753; /* *aarch64_vgetfmulxv4sf */

            default:
              return -1;
            }

        case E_DFmode:
          if (pattern80 (x3, E_V2DFmode, E_DFmode) != 0
              || !
#line 4961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2754; /* *aarch64_vgetfmulxv2df */

        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);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx32QImode:
      if (pattern485 (x3, E_VNx32QImode, E_VNx16BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4665; /* vec_mask_load_lanesvnx32qivnx16qi */

    case E_VNx16HImode:
      if (pattern485 (x3, E_VNx16HImode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4666; /* vec_mask_load_lanesvnx16hivnx8hi */

    case E_VNx8SImode:
      if (pattern485 (x3, E_VNx8SImode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4667; /* vec_mask_load_lanesvnx8sivnx4si */

    case E_VNx4DImode:
      if (pattern485 (x3, E_VNx4DImode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4668; /* vec_mask_load_lanesvnx4divnx2di */

    case E_VNx16BFmode:
      if (pattern485 (x3, E_VNx16BFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4669; /* vec_mask_load_lanesvnx16bfvnx8bf */

    case E_VNx16HFmode:
      if (pattern485 (x3, E_VNx16HFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4670; /* vec_mask_load_lanesvnx16hfvnx8hf */

    case E_VNx8SFmode:
      if (pattern485 (x3, E_VNx8SFmode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4671; /* vec_mask_load_lanesvnx8sfvnx4sf */

    case E_VNx4DFmode:
      if (pattern485 (x3, E_VNx4DFmode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4672; /* vec_mask_load_lanesvnx4dfvnx2df */

    case E_VNx48QImode:
      if (pattern485 (x3, E_VNx48QImode, E_VNx16BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4673; /* vec_mask_load_lanesvnx48qivnx16qi */

    case E_VNx24HImode:
      if (pattern485 (x3, E_VNx24HImode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4674; /* vec_mask_load_lanesvnx24hivnx8hi */

    case E_VNx12SImode:
      if (pattern485 (x3, E_VNx12SImode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4675; /* vec_mask_load_lanesvnx12sivnx4si */

    case E_VNx6DImode:
      if (pattern485 (x3, E_VNx6DImode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4676; /* vec_mask_load_lanesvnx6divnx2di */

    case E_VNx24BFmode:
      if (pattern485 (x3, E_VNx24BFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4677; /* vec_mask_load_lanesvnx24bfvnx8bf */

    case E_VNx24HFmode:
      if (pattern485 (x3, E_VNx24HFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4678; /* vec_mask_load_lanesvnx24hfvnx8hf */

    case E_VNx12SFmode:
      if (pattern485 (x3, E_VNx12SFmode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4679; /* vec_mask_load_lanesvnx12sfvnx4sf */

    case E_VNx6DFmode:
      if (pattern485 (x3, E_VNx6DFmode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4680; /* vec_mask_load_lanesvnx6dfvnx2df */

    case E_VNx64QImode:
      if (pattern485 (x3, E_VNx64QImode, E_VNx16BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4681; /* vec_mask_load_lanesvnx64qivnx16qi */

    case E_VNx32HImode:
      if (pattern485 (x3, E_VNx32HImode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4682; /* vec_mask_load_lanesvnx32hivnx8hi */

    case E_VNx16SImode:
      if (pattern485 (x3, E_VNx16SImode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4683; /* vec_mask_load_lanesvnx16sivnx4si */

    case E_VNx8DImode:
      if (pattern485 (x3, E_VNx8DImode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4684; /* vec_mask_load_lanesvnx8divnx2di */

    case E_VNx32BFmode:
      if (pattern485 (x3, E_VNx32BFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4685; /* vec_mask_load_lanesvnx32bfvnx8bf */

    case E_VNx32HFmode:
      if (pattern485 (x3, E_VNx32HFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4686; /* vec_mask_load_lanesvnx32hfvnx8hf */

    case E_VNx16SFmode:
      if (pattern485 (x3, E_VNx16SFmode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4687; /* vec_mask_load_lanesvnx16sfvnx4sf */

    case E_VNx8DFmode:
      if (pattern485 (x3, E_VNx8DFmode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4688; /* vec_mask_load_lanesvnx8dfvnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (pattern199 (x3))
    {
    case 0:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3711; /* aarch64_rev_reglistv2x8qi */

    case 1:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3712; /* aarch64_rev_reglistv2x4hi */

    case 2:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3713; /* aarch64_rev_reglistv2x2si */

    case 3:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3714; /* aarch64_rev_reglistv2x1di */

    case 4:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3715; /* aarch64_rev_reglistv2x4hf */

    case 5:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3716; /* aarch64_rev_reglistv2x2sf */

    case 6:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3717; /* aarch64_rev_reglistv2x1df */

    case 7:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3718; /* aarch64_rev_reglistv2x4bf */

    case 8:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3719; /* aarch64_rev_reglistv3x8qi */

    case 9:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3720; /* aarch64_rev_reglistv3x4hi */

    case 10:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3721; /* aarch64_rev_reglistv3x2si */

    case 11:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3722; /* aarch64_rev_reglistv3x1di */

    case 12:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3723; /* aarch64_rev_reglistv3x4hf */

    case 13:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3724; /* aarch64_rev_reglistv3x2sf */

    case 14:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3725; /* aarch64_rev_reglistv3x1df */

    case 15:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3726; /* aarch64_rev_reglistv3x4bf */

    case 16:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3727; /* aarch64_rev_reglistv4x8qi */

    case 17:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3728; /* aarch64_rev_reglistv4x4hi */

    case 18:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3729; /* aarch64_rev_reglistv4x2si */

    case 19:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3730; /* aarch64_rev_reglistv4x1di */

    case 20:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3731; /* aarch64_rev_reglistv4x4hf */

    case 21:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3732; /* aarch64_rev_reglistv4x2sf */

    case 22:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3733; /* aarch64_rev_reglistv4x1df */

    case 23:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3734; /* aarch64_rev_reglistv4x4bf */

    case 24:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3735; /* aarch64_rev_reglistv2x16qi */

    case 25:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3736; /* aarch64_rev_reglistv2x8hi */

    case 26:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3737; /* aarch64_rev_reglistv2x4si */

    case 27:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3738; /* aarch64_rev_reglistv2x2di */

    case 28:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3739; /* aarch64_rev_reglistv2x8hf */

    case 29:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3740; /* aarch64_rev_reglistv2x4sf */

    case 30:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3741; /* aarch64_rev_reglistv2x2df */

    case 31:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3742; /* aarch64_rev_reglistv2x8bf */

    case 32:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3743; /* aarch64_rev_reglistv3x16qi */

    case 33:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3744; /* aarch64_rev_reglistv3x8hi */

    case 34:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3745; /* aarch64_rev_reglistv3x4si */

    case 35:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3746; /* aarch64_rev_reglistv3x2di */

    case 36:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3747; /* aarch64_rev_reglistv3x8hf */

    case 37:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3748; /* aarch64_rev_reglistv3x4sf */

    case 38:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3749; /* aarch64_rev_reglistv3x2df */

    case 39:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3750; /* aarch64_rev_reglistv3x8bf */

    case 40:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3751; /* aarch64_rev_reglistv4x16qi */

    case 41:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3752; /* aarch64_rev_reglistv4x8hi */

    case 42:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3753; /* aarch64_rev_reglistv4x4si */

    case 43:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3754; /* aarch64_rev_reglistv4x2di */

    case 44:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3755; /* aarch64_rev_reglistv4x8hf */

    case 45:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3756; /* aarch64_rev_reglistv4x4sf */

    case 46:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3757; /* aarch64_rev_reglistv4x2df */

    case 47:
      if (!
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3758; /* aarch64_rev_reglistv4x8bf */

    default:
      return -1;
    }
}

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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern485 (x3, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4646; /* maskloadvnx16qivnx16bi */

    case E_VNx8QImode:
      if (pattern485 (x3, E_VNx8QImode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4647; /* maskloadvnx8qivnx8bi */

    case E_VNx4QImode:
      if (pattern485 (x3, E_VNx4QImode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4648; /* maskloadvnx4qivnx4bi */

    case E_VNx2QImode:
      if (pattern485 (x3, E_VNx2QImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4649; /* maskloadvnx2qivnx2bi */

    case E_VNx8HImode:
      if (pattern485 (x3, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4650; /* maskloadvnx8hivnx8bi */

    case E_VNx4HImode:
      if (pattern485 (x3, E_VNx4HImode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4651; /* maskloadvnx4hivnx4bi */

    case E_VNx2HImode:
      if (pattern485 (x3, E_VNx2HImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4652; /* maskloadvnx2hivnx2bi */

    case E_VNx8HFmode:
      if (pattern485 (x3, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4653; /* maskloadvnx8hfvnx8bi */

    case E_VNx4HFmode:
      if (pattern485 (x3, E_VNx4HFmode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4654; /* maskloadvnx4hfvnx4bi */

    case E_VNx2HFmode:
      if (pattern485 (x3, E_VNx2HFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4655; /* maskloadvnx2hfvnx2bi */

    case E_VNx8BFmode:
      if (pattern485 (x3, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4656; /* maskloadvnx8bfvnx8bi */

    case E_VNx4BFmode:
      if (pattern485 (x3, E_VNx4BFmode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4657; /* maskloadvnx4bfvnx4bi */

    case E_VNx2BFmode:
      if (pattern485 (x3, E_VNx2BFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4658; /* maskloadvnx2bfvnx2bi */

    case E_VNx4SImode:
      if (pattern485 (x3, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4659; /* maskloadvnx4sivnx4bi */

    case E_VNx2SImode:
      if (pattern485 (x3, E_VNx2SImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4660; /* maskloadvnx2sivnx2bi */

    case E_VNx4SFmode:
      if (pattern485 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4661; /* maskloadvnx4sfvnx4bi */

    case E_VNx2SFmode:
      if (pattern485 (x3, E_VNx2SFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4662; /* maskloadvnx2sfvnx2bi */

    case E_VNx2DImode:
      if (pattern485 (x3, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4663; /* maskloadvnx2divnx2bi */

    case E_VNx2DFmode:
      if (pattern485 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4664; /* maskloadvnx2dfvnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern99 (x1))
    {
    case 0:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4018; /* aarch64_uzp2v8qi */

    case 1:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4024; /* aarch64_uzp2v16qi */

    case 2:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4030; /* aarch64_uzp2v4hi */

    case 3:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4036; /* aarch64_uzp2v8hi */

    case 4:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4042; /* aarch64_uzp2v2si */

    case 5:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4048; /* aarch64_uzp2v4si */

    case 6:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4054; /* aarch64_uzp2v2di */

    case 7:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4060; /* aarch64_uzp2v4hf */

    case 8:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4066; /* aarch64_uzp2v8hf */

    case 9:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4072; /* aarch64_uzp2v4bf */

    case 10:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4078; /* aarch64_uzp2v8bf */

    case 11:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4084; /* aarch64_uzp2v2sf */

    case 12:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4090; /* aarch64_uzp2v4sf */

    case 13:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4096; /* aarch64_uzp2v2df */

    case 14:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8618; /* aarch64_sve_uzp2vnx16qi */

    case 15:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8624; /* aarch64_sve_uzp2vnx8qi */

    case 16:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8630; /* aarch64_sve_uzp2vnx4qi */

    case 17:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8636; /* aarch64_sve_uzp2vnx2qi */

    case 18:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8642; /* aarch64_sve_uzp2vnx8hi */

    case 19:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8648; /* aarch64_sve_uzp2vnx4hi */

    case 20:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8654; /* aarch64_sve_uzp2vnx2hi */

    case 21:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8660; /* aarch64_sve_uzp2vnx8hf */

    case 22:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8666; /* aarch64_sve_uzp2vnx4hf */

    case 23:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8672; /* aarch64_sve_uzp2vnx2hf */

    case 24:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8678; /* aarch64_sve_uzp2vnx8bf */

    case 25:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8684; /* aarch64_sve_uzp2vnx4bf */

    case 26:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8690; /* aarch64_sve_uzp2vnx2bf */

    case 27:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8696; /* aarch64_sve_uzp2vnx4si */

    case 28:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8702; /* aarch64_sve_uzp2vnx2si */

    case 29:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8708; /* aarch64_sve_uzp2vnx4sf */

    case 30:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8714; /* aarch64_sve_uzp2vnx2sf */

    case 31:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8720; /* aarch64_sve_uzp2vnx2di */

    case 32:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8726; /* aarch64_sve_uzp2vnx2df */

    case 33:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8803; /* aarch64_sve_uzp2vnx16bi */

    case 34:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8809; /* aarch64_sve_uzp2vnx8bi */

    case 35:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8815; /* aarch64_sve_uzp2vnx4bi */

    case 36:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8821; /* aarch64_sve_uzp2vnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern99 (x1))
    {
    case 0:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4017; /* aarch64_uzp1v8qi */

    case 1:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4023; /* aarch64_uzp1v16qi */

    case 2:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4029; /* aarch64_uzp1v4hi */

    case 3:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4035; /* aarch64_uzp1v8hi */

    case 4:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4041; /* aarch64_uzp1v2si */

    case 5:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4047; /* aarch64_uzp1v4si */

    case 6:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4053; /* aarch64_uzp1v2di */

    case 7:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4059; /* aarch64_uzp1v4hf */

    case 8:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4065; /* aarch64_uzp1v8hf */

    case 9:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4071; /* aarch64_uzp1v4bf */

    case 10:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4077; /* aarch64_uzp1v8bf */

    case 11:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4083; /* aarch64_uzp1v2sf */

    case 12:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4089; /* aarch64_uzp1v4sf */

    case 13:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4095; /* aarch64_uzp1v2df */

    case 14:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8617; /* aarch64_sve_uzp1vnx16qi */

    case 15:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8623; /* aarch64_sve_uzp1vnx8qi */

    case 16:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8629; /* aarch64_sve_uzp1vnx4qi */

    case 17:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8635; /* aarch64_sve_uzp1vnx2qi */

    case 18:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8641; /* aarch64_sve_uzp1vnx8hi */

    case 19:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8647; /* aarch64_sve_uzp1vnx4hi */

    case 20:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8653; /* aarch64_sve_uzp1vnx2hi */

    case 21:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8659; /* aarch64_sve_uzp1vnx8hf */

    case 22:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8665; /* aarch64_sve_uzp1vnx4hf */

    case 23:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8671; /* aarch64_sve_uzp1vnx2hf */

    case 24:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8677; /* aarch64_sve_uzp1vnx8bf */

    case 25:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8683; /* aarch64_sve_uzp1vnx4bf */

    case 26:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8689; /* aarch64_sve_uzp1vnx2bf */

    case 27:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8695; /* aarch64_sve_uzp1vnx4si */

    case 28:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8701; /* aarch64_sve_uzp1vnx2si */

    case 29:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8707; /* aarch64_sve_uzp1vnx4sf */

    case 30:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8713; /* aarch64_sve_uzp1vnx2sf */

    case 31:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8719; /* aarch64_sve_uzp1vnx2di */

    case 32:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8725; /* aarch64_sve_uzp1vnx2df */

    case 33:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8802; /* aarch64_sve_uzp1vnx16bi */

    case 34:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8808; /* aarch64_sve_uzp1vnx8bi */

    case 35:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8814; /* aarch64_sve_uzp1vnx4bi */

    case 36:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8820; /* aarch64_sve_uzp1vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern99 (x1))
    {
    case 0:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4016; /* aarch64_trn2v8qi */

    case 1:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4022; /* aarch64_trn2v16qi */

    case 2:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4028; /* aarch64_trn2v4hi */

    case 3:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4034; /* aarch64_trn2v8hi */

    case 4:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4040; /* aarch64_trn2v2si */

    case 5:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4046; /* aarch64_trn2v4si */

    case 6:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4052; /* aarch64_trn2v2di */

    case 7:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4058; /* aarch64_trn2v4hf */

    case 8:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4064; /* aarch64_trn2v8hf */

    case 9:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4070; /* aarch64_trn2v4bf */

    case 10:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4076; /* aarch64_trn2v8bf */

    case 11:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4082; /* aarch64_trn2v2sf */

    case 12:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4088; /* aarch64_trn2v4sf */

    case 13:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4094; /* aarch64_trn2v2df */

    case 14:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8616; /* aarch64_sve_trn2vnx16qi */

    case 15:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8622; /* aarch64_sve_trn2vnx8qi */

    case 16:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8628; /* aarch64_sve_trn2vnx4qi */

    case 17:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8634; /* aarch64_sve_trn2vnx2qi */

    case 18:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8640; /* aarch64_sve_trn2vnx8hi */

    case 19:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8646; /* aarch64_sve_trn2vnx4hi */

    case 20:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8652; /* aarch64_sve_trn2vnx2hi */

    case 21:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8658; /* aarch64_sve_trn2vnx8hf */

    case 22:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8664; /* aarch64_sve_trn2vnx4hf */

    case 23:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8670; /* aarch64_sve_trn2vnx2hf */

    case 24:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8676; /* aarch64_sve_trn2vnx8bf */

    case 25:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8682; /* aarch64_sve_trn2vnx4bf */

    case 26:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8688; /* aarch64_sve_trn2vnx2bf */

    case 27:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8694; /* aarch64_sve_trn2vnx4si */

    case 28:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8700; /* aarch64_sve_trn2vnx2si */

    case 29:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8706; /* aarch64_sve_trn2vnx4sf */

    case 30:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8712; /* aarch64_sve_trn2vnx2sf */

    case 31:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8718; /* aarch64_sve_trn2vnx2di */

    case 32:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8724; /* aarch64_sve_trn2vnx2df */

    case 33:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8801; /* aarch64_sve_trn2vnx16bi */

    case 34:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8807; /* aarch64_sve_trn2vnx8bi */

    case 35:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8813; /* aarch64_sve_trn2vnx4bi */

    case 36:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8819; /* aarch64_sve_trn2vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern99 (x1))
    {
    case 0:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4015; /* aarch64_trn1v8qi */

    case 1:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4021; /* aarch64_trn1v16qi */

    case 2:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4027; /* aarch64_trn1v4hi */

    case 3:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4033; /* aarch64_trn1v8hi */

    case 4:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4039; /* aarch64_trn1v2si */

    case 5:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4045; /* aarch64_trn1v4si */

    case 6:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4051; /* aarch64_trn1v2di */

    case 7:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4057; /* aarch64_trn1v4hf */

    case 8:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4063; /* aarch64_trn1v8hf */

    case 9:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4069; /* aarch64_trn1v4bf */

    case 10:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4075; /* aarch64_trn1v8bf */

    case 11:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4081; /* aarch64_trn1v2sf */

    case 12:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4087; /* aarch64_trn1v4sf */

    case 13:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4093; /* aarch64_trn1v2df */

    case 14:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8615; /* aarch64_sve_trn1vnx16qi */

    case 15:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8621; /* aarch64_sve_trn1vnx8qi */

    case 16:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8627; /* aarch64_sve_trn1vnx4qi */

    case 17:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8633; /* aarch64_sve_trn1vnx2qi */

    case 18:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8639; /* aarch64_sve_trn1vnx8hi */

    case 19:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8645; /* aarch64_sve_trn1vnx4hi */

    case 20:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8651; /* aarch64_sve_trn1vnx2hi */

    case 21:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8657; /* aarch64_sve_trn1vnx8hf */

    case 22:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8663; /* aarch64_sve_trn1vnx4hf */

    case 23:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8669; /* aarch64_sve_trn1vnx2hf */

    case 24:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8675; /* aarch64_sve_trn1vnx8bf */

    case 25:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8681; /* aarch64_sve_trn1vnx4bf */

    case 26:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8687; /* aarch64_sve_trn1vnx2bf */

    case 27:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8693; /* aarch64_sve_trn1vnx4si */

    case 28:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8699; /* aarch64_sve_trn1vnx2si */

    case 29:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8705; /* aarch64_sve_trn1vnx4sf */

    case 30:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8711; /* aarch64_sve_trn1vnx2sf */

    case 31:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8717; /* aarch64_sve_trn1vnx2di */

    case 32:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8723; /* aarch64_sve_trn1vnx2df */

    case 33:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8800; /* aarch64_sve_trn1vnx16bi */

    case 34:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8806; /* aarch64_sve_trn1vnx8bi */

    case 35:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8812; /* aarch64_sve_trn1vnx4bi */

    case 36:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8818; /* aarch64_sve_trn1vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern99 (x1))
    {
    case 0:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4014; /* aarch64_zip2v8qi */

    case 1:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4020; /* aarch64_zip2v16qi */

    case 2:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4026; /* aarch64_zip2v4hi */

    case 3:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4032; /* aarch64_zip2v8hi */

    case 4:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4038; /* aarch64_zip2v2si */

    case 5:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4044; /* aarch64_zip2v4si */

    case 6:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4050; /* aarch64_zip2v2di */

    case 7:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4056; /* aarch64_zip2v4hf */

    case 8:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4062; /* aarch64_zip2v8hf */

    case 9:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4068; /* aarch64_zip2v4bf */

    case 10:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4074; /* aarch64_zip2v8bf */

    case 11:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4080; /* aarch64_zip2v2sf */

    case 12:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4086; /* aarch64_zip2v4sf */

    case 13:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4092; /* aarch64_zip2v2df */

    case 14:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8614; /* aarch64_sve_zip2vnx16qi */

    case 15:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8620; /* aarch64_sve_zip2vnx8qi */

    case 16:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8626; /* aarch64_sve_zip2vnx4qi */

    case 17:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8632; /* aarch64_sve_zip2vnx2qi */

    case 18:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8638; /* aarch64_sve_zip2vnx8hi */

    case 19:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8644; /* aarch64_sve_zip2vnx4hi */

    case 20:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8650; /* aarch64_sve_zip2vnx2hi */

    case 21:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8656; /* aarch64_sve_zip2vnx8hf */

    case 22:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8662; /* aarch64_sve_zip2vnx4hf */

    case 23:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8668; /* aarch64_sve_zip2vnx2hf */

    case 24:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8674; /* aarch64_sve_zip2vnx8bf */

    case 25:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8680; /* aarch64_sve_zip2vnx4bf */

    case 26:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8686; /* aarch64_sve_zip2vnx2bf */

    case 27:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8692; /* aarch64_sve_zip2vnx4si */

    case 28:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8698; /* aarch64_sve_zip2vnx2si */

    case 29:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8704; /* aarch64_sve_zip2vnx4sf */

    case 30:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8710; /* aarch64_sve_zip2vnx2sf */

    case 31:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8716; /* aarch64_sve_zip2vnx2di */

    case 32:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8722; /* aarch64_sve_zip2vnx2df */

    case 33:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8799; /* aarch64_sve_zip2vnx16bi */

    case 34:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8805; /* aarch64_sve_zip2vnx8bi */

    case 35:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8811; /* aarch64_sve_zip2vnx4bi */

    case 36:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8817; /* aarch64_sve_zip2vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern99 (x1))
    {
    case 0:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4013; /* aarch64_zip1v8qi */

    case 1:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4019; /* aarch64_zip1v16qi */

    case 2:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4025; /* aarch64_zip1v4hi */

    case 3:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4031; /* aarch64_zip1v8hi */

    case 4:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4037; /* aarch64_zip1v2si */

    case 5:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4043; /* aarch64_zip1v4si */

    case 6:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4049; /* aarch64_zip1v2di */

    case 7:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4055; /* aarch64_zip1v4hf */

    case 8:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4061; /* aarch64_zip1v8hf */

    case 9:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4067; /* aarch64_zip1v4bf */

    case 10:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4073; /* aarch64_zip1v8bf */

    case 11:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4079; /* aarch64_zip1v2sf */

    case 12:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4085; /* aarch64_zip1v4sf */

    case 13:
      if (!
#line 7775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4091; /* aarch64_zip1v2df */

    case 14:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8613; /* aarch64_sve_zip1vnx16qi */

    case 15:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8619; /* aarch64_sve_zip1vnx8qi */

    case 16:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8625; /* aarch64_sve_zip1vnx4qi */

    case 17:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8631; /* aarch64_sve_zip1vnx2qi */

    case 18:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8637; /* aarch64_sve_zip1vnx8hi */

    case 19:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8643; /* aarch64_sve_zip1vnx4hi */

    case 20:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8649; /* aarch64_sve_zip1vnx2hi */

    case 21:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8655; /* aarch64_sve_zip1vnx8hf */

    case 22:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8661; /* aarch64_sve_zip1vnx4hf */

    case 23:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8667; /* aarch64_sve_zip1vnx2hf */

    case 24:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8673; /* aarch64_sve_zip1vnx8bf */

    case 25:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8679; /* aarch64_sve_zip1vnx4bf */

    case 26:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8685; /* aarch64_sve_zip1vnx2bf */

    case 27:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8691; /* aarch64_sve_zip1vnx4si */

    case 28:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8697; /* aarch64_sve_zip1vnx2si */

    case 29:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8703; /* aarch64_sve_zip1vnx4sf */

    case 30:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8709; /* aarch64_sve_zip1vnx2sf */

    case 31:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8715; /* aarch64_sve_zip1vnx2di */

    case 32:
      if (!
#line 8769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8721; /* aarch64_sve_zip1vnx2df */

    case 33:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8798; /* aarch64_sve_zip1vnx16bi */

    case 34:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8804; /* aarch64_sve_zip1vnx8bi */

    case 35:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8810; /* aarch64_sve_zip1vnx4bi */

    case 36:
      if (!
#line 8838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8816; /* aarch64_sve_zip1vnx2bi */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_BLKmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!aarch64_simd_struct_operand (operands[0], E_BLKmode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_V4x8QImode:
      if (!register_operand (operands[1], E_V4x8QImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3695; /* aarch64_vec_store_lanesv4x8qi_lanev8qi */

    case E_V4x4HImode:
      if (!register_operand (operands[1], E_V4x4HImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3696; /* aarch64_vec_store_lanesv4x4hi_lanev4hi */

    case E_V4x2SImode:
      if (!register_operand (operands[1], E_V4x2SImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3697; /* aarch64_vec_store_lanesv4x2si_lanev2si */

    case E_V4x1DImode:
      if (!register_operand (operands[1], E_V4x1DImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3698; /* aarch64_vec_store_lanesv4x1di_lanedi */

    case E_V4x4HFmode:
      if (!register_operand (operands[1], E_V4x4HFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3699; /* aarch64_vec_store_lanesv4x4hf_lanev4hf */

    case E_V4x2SFmode:
      if (!register_operand (operands[1], E_V4x2SFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3700; /* aarch64_vec_store_lanesv4x2sf_lanev2sf */

    case E_V4x1DFmode:
      if (!register_operand (operands[1], E_V4x1DFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3701; /* aarch64_vec_store_lanesv4x1df_lanedf */

    case E_V4x4BFmode:
      if (!register_operand (operands[1], E_V4x4BFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3702; /* aarch64_vec_store_lanesv4x4bf_lanev4bf */

    case E_V4x16QImode:
      if (!register_operand (operands[1], E_V4x16QImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3703; /* aarch64_vec_store_lanesv4x16qi_lanev16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[1], E_V4x8HImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3704; /* aarch64_vec_store_lanesv4x8hi_lanev8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[1], E_V4x4SImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3705; /* aarch64_vec_store_lanesv4x4si_lanev4si */

    case E_V4x2DImode:
      if (!register_operand (operands[1], E_V4x2DImode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3706; /* aarch64_vec_store_lanesv4x2di_lanev2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[1], E_V4x8HFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3707; /* aarch64_vec_store_lanesv4x8hf_lanev8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[1], E_V4x4SFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3708; /* aarch64_vec_store_lanesv4x4sf_lanev4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[1], E_V4x2DFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3709; /* aarch64_vec_store_lanesv4x2df_lanev2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[1], E_V4x8BFmode)
          || !
#line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3710; /* aarch64_vec_store_lanesv4x8bf_lanev8bf */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_BLKmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!aarch64_simd_struct_operand (operands[0], E_BLKmode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_V3x8QImode:
      if (!register_operand (operands[1], E_V3x8QImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3631; /* aarch64_vec_store_lanesv3x8qi_lanev8qi */

    case E_V3x4HImode:
      if (!register_operand (operands[1], E_V3x4HImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3632; /* aarch64_vec_store_lanesv3x4hi_lanev4hi */

    case E_V3x2SImode:
      if (!register_operand (operands[1], E_V3x2SImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3633; /* aarch64_vec_store_lanesv3x2si_lanev2si */

    case E_V3x1DImode:
      if (!register_operand (operands[1], E_V3x1DImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3634; /* aarch64_vec_store_lanesv3x1di_lanedi */

    case E_V3x4HFmode:
      if (!register_operand (operands[1], E_V3x4HFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3635; /* aarch64_vec_store_lanesv3x4hf_lanev4hf */

    case E_V3x2SFmode:
      if (!register_operand (operands[1], E_V3x2SFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3636; /* aarch64_vec_store_lanesv3x2sf_lanev2sf */

    case E_V3x1DFmode:
      if (!register_operand (operands[1], E_V3x1DFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3637; /* aarch64_vec_store_lanesv3x1df_lanedf */

    case E_V3x4BFmode:
      if (!register_operand (operands[1], E_V3x4BFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3638; /* aarch64_vec_store_lanesv3x4bf_lanev4bf */

    case E_V3x16QImode:
      if (!register_operand (operands[1], E_V3x16QImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3639; /* aarch64_vec_store_lanesv3x16qi_lanev16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[1], E_V3x8HImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3640; /* aarch64_vec_store_lanesv3x8hi_lanev8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[1], E_V3x4SImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3641; /* aarch64_vec_store_lanesv3x4si_lanev4si */

    case E_V3x2DImode:
      if (!register_operand (operands[1], E_V3x2DImode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3642; /* aarch64_vec_store_lanesv3x2di_lanev2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[1], E_V3x8HFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3643; /* aarch64_vec_store_lanesv3x8hf_lanev8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[1], E_V3x4SFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3644; /* aarch64_vec_store_lanesv3x4sf_lanev4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[1], E_V3x2DFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3645; /* aarch64_vec_store_lanesv3x2df_lanev2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[1], E_V3x8BFmode)
          || !
#line 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3646; /* aarch64_vec_store_lanesv3x8bf_lanev8bf */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_BLKmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!aarch64_simd_struct_operand (operands[0], E_BLKmode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_V2x8QImode:
      if (!register_operand (operands[1], E_V2x8QImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3567; /* aarch64_vec_store_lanesv2x8qi_lanev8qi */

    case E_V2x4HImode:
      if (!register_operand (operands[1], E_V2x4HImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3568; /* aarch64_vec_store_lanesv2x4hi_lanev4hi */

    case E_V2x2SImode:
      if (!register_operand (operands[1], E_V2x2SImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3569; /* aarch64_vec_store_lanesv2x2si_lanev2si */

    case E_V2x1DImode:
      if (!register_operand (operands[1], E_V2x1DImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3570; /* aarch64_vec_store_lanesv2x1di_lanedi */

    case E_V2x4HFmode:
      if (!register_operand (operands[1], E_V2x4HFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3571; /* aarch64_vec_store_lanesv2x4hf_lanev4hf */

    case E_V2x2SFmode:
      if (!register_operand (operands[1], E_V2x2SFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3572; /* aarch64_vec_store_lanesv2x2sf_lanev2sf */

    case E_V2x1DFmode:
      if (!register_operand (operands[1], E_V2x1DFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3573; /* aarch64_vec_store_lanesv2x1df_lanedf */

    case E_V2x4BFmode:
      if (!register_operand (operands[1], E_V2x4BFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3574; /* aarch64_vec_store_lanesv2x4bf_lanev4bf */

    case E_V2x16QImode:
      if (!register_operand (operands[1], E_V2x16QImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3575; /* aarch64_vec_store_lanesv2x16qi_lanev16qi */

    case E_V2x8HImode:
      if (!register_operand (operands[1], E_V2x8HImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3576; /* aarch64_vec_store_lanesv2x8hi_lanev8hi */

    case E_V2x4SImode:
      if (!register_operand (operands[1], E_V2x4SImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3577; /* aarch64_vec_store_lanesv2x4si_lanev4si */

    case E_V2x2DImode:
      if (!register_operand (operands[1], E_V2x2DImode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3578; /* aarch64_vec_store_lanesv2x2di_lanev2di */

    case E_V2x8HFmode:
      if (!register_operand (operands[1], E_V2x8HFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3579; /* aarch64_vec_store_lanesv2x8hf_lanev8hf */

    case E_V2x4SFmode:
      if (!register_operand (operands[1], E_V2x4SFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3580; /* aarch64_vec_store_lanesv2x4sf_lanev4sf */

    case E_V2x2DFmode:
      if (!register_operand (operands[1], E_V2x2DFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3581; /* aarch64_vec_store_lanesv2x2df_lanev2df */

    case E_V2x8BFmode:
      if (!register_operand (operands[1], E_V2x8BFmode)
          || !
#line 6808 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3582; /* aarch64_vec_store_lanesv2x8bf_lanev8bf */

    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;
  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_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern61 (x3, E_V8QImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2799; /* aarch64_suqaddv8qi */

        case E_V16QImode:
          if (pattern61 (x3, E_V16QImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2801; /* aarch64_suqaddv16qi */

        case E_V4HImode:
          if (pattern61 (x3, E_V4HImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2803; /* aarch64_suqaddv4hi */

        case E_V8HImode:
          if (pattern61 (x3, E_V8HImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2805; /* aarch64_suqaddv8hi */

        case E_V2SImode:
          if (pattern61 (x3, E_V2SImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2807; /* aarch64_suqaddv2si */

        case E_V4SImode:
          if (pattern61 (x3, E_V4SImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2809; /* aarch64_suqaddv4si */

        case E_V2DImode:
          if (pattern61 (x3, E_V2DImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2811; /* aarch64_suqaddv2di */

        case E_QImode:
          if (pattern61 (x3, E_QImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2813; /* aarch64_suqaddqi */

        case E_HImode:
          if (pattern61 (x3, E_HImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2815; /* aarch64_suqaddhi */

        case E_SImode:
          if (pattern61 (x3, E_SImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2817; /* aarch64_suqaddsi */

        case E_DImode:
          if (pattern61 (x3, E_DImode) != 0
              || !
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2819; /* aarch64_suqadddi */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern512 (x3, E_VNx16QImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9102; /* aarch64_sve_suqaddvnx16qi_const */

        case E_VNx8HImode:
          if (pattern512 (x3, E_VNx8HImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9103; /* aarch64_sve_suqaddvnx8hi_const */

        case E_VNx4SImode:
          if (pattern512 (x3, E_VNx4SImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9104; /* aarch64_sve_suqaddvnx4si_const */

        case E_VNx2DImode:
          if (pattern512 (x3, E_VNx2DImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9105; /* aarch64_sve_suqaddvnx2di_const */

        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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern84 (x1))
    {
    case 0:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2889; /* aarch64_sqrdmulhv4hi */

    case 1:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2891; /* aarch64_sqrdmulhv8hi */

    case 2:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2893; /* aarch64_sqrdmulhv2si */

    case 3:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2895; /* aarch64_sqrdmulhv4si */

    case 4:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2897; /* aarch64_sqrdmulhhi */

    case 5:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2899; /* aarch64_sqrdmulhsi */

    case 6:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9283; /* aarch64_sve_sqrdmulhvnx16qi */

    case 7:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9285; /* aarch64_sve_sqrdmulhvnx8hi */

    case 8:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9287; /* aarch64_sve_sqrdmulhvnx4si */

    case 9:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9289; /* aarch64_sve_sqrdmulhvnx2di */

    case 10:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2901; /* aarch64_sqrdmulh_nv4hi */

    case 11:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2903; /* aarch64_sqrdmulh_nv8hi */

    case 12:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2905; /* aarch64_sqrdmulh_nv2si */

    case 13:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2907; /* aarch64_sqrdmulh_nv4si */

    case 14:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2909; /* aarch64_sqrdmulh_lanev4hi */

    case 15:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2917; /* aarch64_sqrdmulh_laneqv4hi */

    case 16:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2911; /* aarch64_sqrdmulh_lanev8hi */

    case 17:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2919; /* aarch64_sqrdmulh_laneqv8hi */

    case 18:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2913; /* aarch64_sqrdmulh_lanev2si */

    case 19:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2921; /* aarch64_sqrdmulh_laneqv2si */

    case 20:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2915; /* aarch64_sqrdmulh_lanev4si */

    case 21:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2923; /* aarch64_sqrdmulh_laneqv4si */

    case 22:
      if (!
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2925; /* aarch64_sqrdmulh_lanehi */

    case 23:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2929; /* aarch64_sqrdmulh_laneqhi */

    case 24:
      if (!
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2927; /* aarch64_sqrdmulh_lanesi */

    case 25:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2931; /* aarch64_sqrdmulh_laneqsi */

    case 26:
      if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9291; /* aarch64_sve_sqrdmulh_lane_vnx8hi */

    case 27:
      if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9293; /* aarch64_sve_sqrdmulh_lane_vnx4si */

    case 28:
      if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9295; /* aarch64_sve_sqrdmulh_lane_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern84 (x1))
    {
    case 0:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2888; /* aarch64_sqdmulhv4hi */

    case 1:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2890; /* aarch64_sqdmulhv8hi */

    case 2:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2892; /* aarch64_sqdmulhv2si */

    case 3:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2894; /* aarch64_sqdmulhv4si */

    case 4:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2896; /* aarch64_sqdmulhhi */

    case 5:
      if (!
#line 5198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2898; /* aarch64_sqdmulhsi */

    case 6:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9282; /* aarch64_sve_sqdmulhvnx16qi */

    case 7:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9284; /* aarch64_sve_sqdmulhvnx8hi */

    case 8:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9286; /* aarch64_sve_sqdmulhvnx4si */

    case 9:
      if (!
#line 500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9288; /* aarch64_sve_sqdmulhvnx2di */

    case 10:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2900; /* aarch64_sqdmulh_nv4hi */

    case 11:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2902; /* aarch64_sqdmulh_nv8hi */

    case 12:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2904; /* aarch64_sqdmulh_nv2si */

    case 13:
      if (!
#line 5210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2906; /* aarch64_sqdmulh_nv4si */

    case 14:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2908; /* aarch64_sqdmulh_lanev4hi */

    case 15:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2916; /* aarch64_sqdmulh_laneqv4hi */

    case 16:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2910; /* aarch64_sqdmulh_lanev8hi */

    case 17:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2918; /* aarch64_sqdmulh_laneqv8hi */

    case 18:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2912; /* aarch64_sqdmulh_lanev2si */

    case 19:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2920; /* aarch64_sqdmulh_laneqv2si */

    case 20:
      if (!
#line 5225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2914; /* aarch64_sqdmulh_lanev4si */

    case 21:
      if (!
#line 5240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2922; /* aarch64_sqdmulh_laneqv4si */

    case 22:
      if (!
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2924; /* aarch64_sqdmulh_lanehi */

    case 23:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2928; /* aarch64_sqdmulh_laneqhi */

    case 24:
      if (!
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2926; /* aarch64_sqdmulh_lanesi */

    case 25:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2930; /* aarch64_sqdmulh_laneqsi */

    case 26:
      if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9290; /* aarch64_sve_sqdmulh_lane_vnx8hi */

    case 27:
      if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9292; /* aarch64_sve_sqdmulh_lane_vnx4si */

    case 28:
      if (!
#line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9294; /* aarch64_sve_sqdmulh_lane_vnx2di */

    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;
  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 E_V8QImode:
      switch (pattern484 (x3, E_V8QImode))
        {
        case 0:
          if (!
#line 7666 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3996; /* aarch64_qtbl1v8qi */

        case 1:
          if (!
#line 7689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4000; /* aarch64_qtbl2v8qi */

        case 2:
          if (!
#line 7712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4004; /* aarch64_qtbl3v8qi */

        case 3:
          if (!
#line 7735 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4008; /* aarch64_qtbl4v8qi */

        default:
          return -1;
        }

    case E_V16QImode:
      switch (pattern484 (x3, E_V16QImode))
        {
        case 0:
          if (!
#line 7666 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3997; /* aarch64_qtbl1v16qi */

        case 1:
          if (!
#line 7689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4001; /* aarch64_qtbl2v16qi */

        case 2:
          if (!
#line 7712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4005; /* aarch64_qtbl3v16qi */

        case 3:
          if (!
#line 7735 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4009; /* aarch64_qtbl4v16qi */

        default:
          return -1;
        }

    case E_VNx16QImode:
      if (pattern61 (x3, E_VNx16QImode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8547; /* aarch64_sve_tblvnx16qi */

    case E_VNx8HImode:
      if (pattern61 (x3, E_VNx8HImode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8548; /* aarch64_sve_tblvnx8hi */

    case E_VNx4SImode:
      if (pattern61 (x3, E_VNx4SImode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8549; /* aarch64_sve_tblvnx4si */

    case E_VNx2DImode:
      if (pattern61 (x3, E_VNx2DImode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8550; /* aarch64_sve_tblvnx2di */

    case E_VNx8BFmode:
      if (pattern103 (x3, E_VNx8HImode, E_VNx8BFmode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8551; /* aarch64_sve_tblvnx8bf */

    case E_VNx8HFmode:
      if (pattern103 (x3, E_VNx8HImode, E_VNx8HFmode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8552; /* aarch64_sve_tblvnx8hf */

    case E_VNx4SFmode:
      if (pattern103 (x3, E_VNx4SImode, E_VNx4SFmode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8553; /* aarch64_sve_tblvnx4sf */

    case E_VNx2DFmode:
      if (pattern103 (x3, E_VNx2DImode, E_VNx2DFmode) != 0
          || !
#line 8651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8554; /* aarch64_sve_tblvnx2df */

    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;
  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 (!immediate_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode)
          || !
#line 1368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1796; /* vec_shr_v8qi */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x3) != E_V4HImode
          || !register_operand (operands[1], E_V4HImode)
          || !
#line 1368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1797; /* vec_shr_v4hi */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !
#line 1368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1798; /* vec_shr_v4hf */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 1368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1799; /* vec_shr_v2si */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 1368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1800; /* vec_shr_v2sf */

    case E_V4BFmode:
      if (!register_operand (operands[0], E_V4BFmode)
          || GET_MODE (x3) != E_V4BFmode
          || !register_operand (operands[1], E_V4BFmode)
          || !
#line 1368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1801; /* vec_shr_v4bf */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8115; /* while_wrsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8125; /* while_wrdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8135; /* while_wrsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8145; /* while_wrdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8155; /* while_wrsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8165; /* while_wrdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8175; /* while_wrsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8185; /* while_wrdivnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8114; /* while_rwsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8124; /* while_rwdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8134; /* while_rwsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8144; /* while_rwdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8154; /* while_rwsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8164; /* while_rwdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8174; /* while_rwsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8184; /* while_rwdivnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8113; /* while_ugesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8123; /* while_ugedivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8133; /* while_ugesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8143; /* while_ugedivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8153; /* while_ugesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8163; /* while_ugedivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8173; /* while_ugesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8183; /* while_ugedivnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8112; /* while_ugtsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8122; /* while_ugtdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8132; /* while_ugtsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8142; /* while_ugtdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8152; /* while_ugtsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8162; /* while_ugtdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8172; /* while_ugtsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8182; /* while_ugtdivnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8111; /* while_gtsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8121; /* while_gtdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8131; /* while_gtsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8141; /* while_gtdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8151; /* while_gtsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8161; /* while_gtdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8171; /* while_gtsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8181; /* while_gtdivnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8110; /* while_gesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8120; /* while_gedivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8130; /* while_gesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8140; /* while_gedivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8150; /* while_gesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8160; /* while_gedivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8170; /* while_gesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8180; /* while_gedivnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8109; /* while_ltsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8119; /* while_ltdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8129; /* while_ltsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8139; /* while_ltdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8149; /* while_ltsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8159; /* while_ltdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8169; /* while_ltsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8179; /* while_ltdivnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8108; /* while_ulesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8118; /* while_uledivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8128; /* while_ulesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8138; /* while_uledivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8148; /* while_ulesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8158; /* while_uledivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8168; /* while_ulesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8178; /* while_uledivnx2bi */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8107; /* while_ultsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8117; /* while_ultdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8127; /* while_ultsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8137; /* while_ultdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8147; /* while_ultsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8157; /* while_ultdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8167; /* while_ultsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8177; /* while_ultdivnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern106 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8106; /* while_lesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8116; /* while_ledivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8126; /* while_lesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8136; /* while_ledivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8146; /* while_lesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8156; /* while_ledivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8166; /* while_lesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8176; /* while_ledivnx2bi */

    default:
      return -1;
    }
}

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;
  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 E_V8QImode:
      if (pattern86 (x3, E_V8QImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3214; /* aarch64_sqshlu_nv8qi */

    case E_V16QImode:
      if (pattern86 (x3, E_V16QImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3217; /* aarch64_sqshlu_nv16qi */

    case E_V4HImode:
      if (pattern87 (x3, E_V4HImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3220; /* aarch64_sqshlu_nv4hi */

    case E_V8HImode:
      if (pattern87 (x3, E_V8HImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3223; /* aarch64_sqshlu_nv8hi */

    case E_V2SImode:
      if (pattern88 (x3, E_V2SImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3226; /* aarch64_sqshlu_nv2si */

    case E_V4SImode:
      if (pattern88 (x3, E_V4SImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3229; /* aarch64_sqshlu_nv4si */

    case E_V2DImode:
      if (pattern89 (x3, E_V2DImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3232; /* aarch64_sqshlu_nv2di */

    case E_QImode:
      if (pattern86 (x3, E_QImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3235; /* aarch64_sqshlu_nqi */

    case E_HImode:
      if (pattern87 (x3, E_HImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3238; /* aarch64_sqshlu_nhi */

    case E_SImode:
      if (pattern88 (x3, E_SImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3241; /* aarch64_sqshlu_nsi */

    case E_DImode:
      if (pattern89 (x3, E_DImode) != 0
          || !
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3244; /* aarch64_sqshlu_ndi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern90 (x1))
    {
    case 0:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3067; /* aarch64_uqshlv8qi */

    case 1:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3071; /* aarch64_uqshlv16qi */

    case 2:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3075; /* aarch64_uqshlv4hi */

    case 3:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3079; /* aarch64_uqshlv8hi */

    case 4:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3083; /* aarch64_uqshlv2si */

    case 5:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3087; /* aarch64_uqshlv4si */

    case 6:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3091; /* aarch64_uqshlv2di */

    case 7:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3095; /* aarch64_uqshlqi */

    case 8:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3099; /* aarch64_uqshlhi */

    case 9:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3103; /* aarch64_uqshlsi */

    case 10:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3107; /* aarch64_uqshldi */

    case 11:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3216; /* aarch64_uqshl_nv8qi */

    case 12:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3219; /* aarch64_uqshl_nv16qi */

    case 13:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3222; /* aarch64_uqshl_nv4hi */

    case 14:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3225; /* aarch64_uqshl_nv8hi */

    case 15:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3228; /* aarch64_uqshl_nv2si */

    case 16:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3231; /* aarch64_uqshl_nv4si */

    case 17:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3234; /* aarch64_uqshl_nv2di */

    case 18:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3237; /* aarch64_uqshl_nqi */

    case 19:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3240; /* aarch64_uqshl_nhi */

    case 20:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3243; /* aarch64_uqshl_nsi */

    case 21:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3246; /* aarch64_uqshl_ndi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern90 (x1))
    {
    case 0:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3066; /* aarch64_sqshlv8qi */

    case 1:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3070; /* aarch64_sqshlv16qi */

    case 2:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3074; /* aarch64_sqshlv4hi */

    case 3:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3078; /* aarch64_sqshlv8hi */

    case 4:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3082; /* aarch64_sqshlv2si */

    case 5:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3086; /* aarch64_sqshlv4si */

    case 6:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3090; /* aarch64_sqshlv2di */

    case 7:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3094; /* aarch64_sqshlqi */

    case 8:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3098; /* aarch64_sqshlhi */

    case 9:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3102; /* aarch64_sqshlsi */

    case 10:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3106; /* aarch64_sqshldi */

    case 11:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3215; /* aarch64_sqshl_nv8qi */

    case 12:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3218; /* aarch64_sqshl_nv16qi */

    case 13:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3221; /* aarch64_sqshl_nv4hi */

    case 14:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3224; /* aarch64_sqshl_nv8hi */

    case 15:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3227; /* aarch64_sqshl_nv2si */

    case 16:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3230; /* aarch64_sqshl_nv4si */

    case 17:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3233; /* aarch64_sqshl_nv2di */

    case 18:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3236; /* aarch64_sqshl_nqi */

    case 19:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3239; /* aarch64_sqshl_nhi */

    case 20:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3242; /* aarch64_sqshl_nsi */

    case 21:
      if (!
#line 6319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3245; /* aarch64_sqshl_ndi */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x3) != E_VNx16QImode
          || !register_operand (operands[2], E_VNx16BImode)
          || !aarch64_sve_ld1ro_operand_b (operands[1], E_OImode)
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5131; /* aarch64_sve_ld1rovnx16qi */

    case E_VNx8HImode:
      if (pattern487 (x3, E_VNx8HImode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5132; /* aarch64_sve_ld1rovnx8hi */

    case E_VNx4SImode:
      if (pattern488 (x3, E_VNx4SImode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5133; /* aarch64_sve_ld1rovnx4si */

    case E_VNx2DImode:
      if (pattern489 (x3, E_VNx2DImode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5134; /* aarch64_sve_ld1rovnx2di */

    case E_VNx8BFmode:
      if (pattern487 (x3, E_VNx8BFmode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5135; /* aarch64_sve_ld1rovnx8bf */

    case E_VNx8HFmode:
      if (pattern487 (x3, E_VNx8HFmode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5136; /* aarch64_sve_ld1rovnx8hf */

    case E_VNx4SFmode:
      if (pattern488 (x3, E_VNx4SFmode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5137; /* aarch64_sve_ld1rovnx4sf */

    case E_VNx2DFmode:
      if (pattern489 (x3, E_VNx2DFmode) != 0
          || !
#line 2605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5138; /* aarch64_sve_ld1rovnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (pattern200 (x3))
    {
    case 0:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4514; /* *aarch64_sve_movvnx16qi_subreg_be */

    case 1:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4515; /* *aarch64_sve_movvnx8qi_subreg_be */

    case 2:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4516; /* *aarch64_sve_movvnx4qi_subreg_be */

    case 3:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4517; /* *aarch64_sve_movvnx2qi_subreg_be */

    case 4:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4518; /* *aarch64_sve_movvnx8hi_subreg_be */

    case 5:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4519; /* *aarch64_sve_movvnx4hi_subreg_be */

    case 6:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4520; /* *aarch64_sve_movvnx2hi_subreg_be */

    case 7:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4521; /* *aarch64_sve_movvnx8hf_subreg_be */

    case 8:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4522; /* *aarch64_sve_movvnx4hf_subreg_be */

    case 9:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4523; /* *aarch64_sve_movvnx2hf_subreg_be */

    case 10:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4524; /* *aarch64_sve_movvnx8bf_subreg_be */

    case 11:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4525; /* *aarch64_sve_movvnx4bf_subreg_be */

    case 12:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4526; /* *aarch64_sve_movvnx2bf_subreg_be */

    case 13:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4527; /* *aarch64_sve_movvnx4si_subreg_be */

    case 14:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4528; /* *aarch64_sve_movvnx2si_subreg_be */

    case 15:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4529; /* *aarch64_sve_movvnx4sf_subreg_be */

    case 16:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4530; /* *aarch64_sve_movvnx2sf_subreg_be */

    case 17:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4531; /* *aarch64_sve_movvnx2di_subreg_be */

    case 18:
      if (!
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4532; /* *aarch64_sve_movvnx2df_subreg_be */

    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, x6, x7, x8, x9;
  rtx x10, x11;
  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);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern61 (x3, E_VNx4SImode) != 0
              || !
#line 3837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6392; /* aarch64_adrvnx4si */

        case E_VNx2DImode:
          if (pattern61 (x3, E_VNx2DImode) != 0
              || !
#line 3837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6393; /* aarch64_adrvnx2di */

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern428 (x5) != 0
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x3) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2DImode))
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x5, 0, 1);
      x8 = XEXP (x7, 0);
      x9 = XEXP (x8, 0);
      operands[2] = x9;
      if (!register_operand (operands[2], E_VNx2DImode)
          || !
#line 3853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6394; /* *aarch64_adr_sxtw */

    case AND:
      if (GET_MODE (x5) != E_VNx2DImode
          || !register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x3) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2DImode))
        return -1;
      x10 = XEXP (x5, 0);
      operands[2] = x10;
      if (!register_operand (operands[2], E_VNx2DImode))
        return -1;
      x11 = XEXP (x5, 1);
      operands[3] = x11;
      if (!aarch64_sve_uxtw_immediate (operands[3], E_VNx2DImode)
          || !
#line 3870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6395; /* *aarch64_adr_uxtw_unspec */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern91 (x1))
    {
    case 0:
      if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
          && 
#line 6209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3111; /* aarch64_ushllv16qi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V16QImode)
          || !
#line 6227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3117; /* aarch64_ushll2v16qi_internal */

    case 1:
      if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
          && 
#line 6209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3113; /* aarch64_ushllv8hi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HImode)
          || !
#line 6227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3119; /* aarch64_ushll2v8hi_internal */

    case 2:
      if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
          && 
#line 6209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3115; /* aarch64_ushllv4si_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SImode)
          || !
#line 6227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3121; /* aarch64_ushll2v4si_internal */

    case 3:
      if (!
#line 6243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3123; /* aarch64_ushll_nv8qi */

    case 4:
      if (!
#line 6260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3129; /* aarch64_ushll2_nv16qi */

    case 5:
      if (!
#line 6243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3125; /* aarch64_ushll_nv4hi */

    case 6:
      if (!
#line 6260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3131; /* aarch64_ushll2_nv8hi */

    case 7:
      if (!
#line 6243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3127; /* aarch64_ushll_nv2si */

    case 8:
      if (!
#line 6260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3133; /* aarch64_ushll2_nv4si */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern91 (x1))
    {
    case 0:
      if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
          && 
#line 6209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3110; /* aarch64_sshllv16qi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V16QImode)
          || !
#line 6227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3116; /* aarch64_sshll2v16qi_internal */

    case 1:
      if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
          && 
#line 6209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3112; /* aarch64_sshllv8hi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HImode)
          || !
#line 6227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3118; /* aarch64_sshll2v8hi_internal */

    case 2:
      if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
          && 
#line 6209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3114; /* aarch64_sshllv4si_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SImode)
          || !
#line 6227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3120; /* aarch64_sshll2v4si_internal */

    case 3:
      if (!
#line 6243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3122; /* aarch64_sshll_nv8qi */

    case 4:
      if (!
#line 6260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3128; /* aarch64_sshll2_nv16qi */

    case 5:
      if (!
#line 6243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3124; /* aarch64_sshll_nv4hi */

    case 6:
      if (!
#line 6260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3130; /* aarch64_sshll2_nv8hi */

    case 7:
      if (!
#line 6243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3126; /* aarch64_sshll_nv2si */

    case 8:
      if (!
#line 6260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3132; /* aarch64_sshll2_nv4si */

    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;
  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 E_VNx16QImode:
      if (pattern491 (x3, E_VNx16QImode, E_VNx32QImode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9914; /* aarch64_sve2_tbl2vnx16qi */

    case E_VNx8HImode:
      if (pattern491 (x3, E_VNx8HImode, E_VNx16HImode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9915; /* aarch64_sve2_tbl2vnx8hi */

    case E_VNx4SImode:
      if (pattern491 (x3, E_VNx4SImode, E_VNx8SImode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9916; /* aarch64_sve2_tbl2vnx4si */

    case E_VNx2DImode:
      if (pattern491 (x3, E_VNx2DImode, E_VNx4DImode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9917; /* aarch64_sve2_tbl2vnx2di */

    case E_VNx8BFmode:
      if (pattern75 (x3, E_VNx8HImode, E_VNx16BFmode, E_VNx8BFmode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9918; /* aarch64_sve2_tbl2vnx8bf */

    case E_VNx8HFmode:
      if (pattern75 (x3, E_VNx8HImode, E_VNx16HFmode, E_VNx8HFmode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9919; /* aarch64_sve2_tbl2vnx8hf */

    case E_VNx4SFmode:
      if (pattern75 (x3, E_VNx4SImode, E_VNx8SFmode, E_VNx4SFmode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9920; /* aarch64_sve2_tbl2vnx4sf */

    case E_VNx2DFmode:
      if (pattern75 (x3, E_VNx2DImode, E_VNx4DFmode, E_VNx2DFmode) != 0
          || !
#line 2334 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9921; /* aarch64_sve2_tbl2vnx2df */

    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;
  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 E_VNx16QImode:
      if (pattern490 (x3, E_QImode, E_VNx16QImode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5139; /* vec_shl_insert_vnx16qi */

    case E_VNx8HImode:
      if (pattern490 (x3, E_HImode, E_VNx8HImode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5140; /* vec_shl_insert_vnx8hi */

    case E_VNx4SImode:
      if (pattern490 (x3, E_SImode, E_VNx4SImode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5141; /* vec_shl_insert_vnx4si */

    case E_VNx2DImode:
      if (pattern490 (x3, E_DImode, E_VNx2DImode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5142; /* vec_shl_insert_vnx2di */

    case E_VNx8BFmode:
      if (pattern490 (x3, E_BFmode, E_VNx8BFmode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5143; /* vec_shl_insert_vnx8bf */

    case E_VNx8HFmode:
      if (pattern490 (x3, E_HFmode, E_VNx8HFmode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5144; /* vec_shl_insert_vnx8hf */

    case E_VNx4SFmode:
      if (pattern490 (x3, E_SFmode, E_VNx4SFmode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5145; /* vec_shl_insert_vnx4sf */

    case E_VNx2DFmode:
      if (pattern490 (x3, E_DFmode, E_VNx2DFmode) != 0
          || !
#line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5146; /* vec_shl_insert_vnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern486 (x3, E_V16QImode, E_VNx16BImode, E_VNx16QImode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5123; /* aarch64_sve_ld1rqvnx16qi */

    case E_VNx8HImode:
      if (pattern486 (x3, E_V8HImode, E_VNx8BImode, E_VNx8HImode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5124; /* aarch64_sve_ld1rqvnx8hi */

    case E_VNx4SImode:
      if (pattern486 (x3, E_V4SImode, E_VNx4BImode, E_VNx4SImode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5125; /* aarch64_sve_ld1rqvnx4si */

    case E_VNx2DImode:
      if (pattern486 (x3, E_V2DImode, E_VNx2BImode, E_VNx2DImode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5126; /* aarch64_sve_ld1rqvnx2di */

    case E_VNx8BFmode:
      if (pattern486 (x3, E_V8BFmode, E_VNx8BImode, E_VNx8BFmode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5127; /* aarch64_sve_ld1rqvnx8bf */

    case E_VNx8HFmode:
      if (pattern486 (x3, E_V8HFmode, E_VNx8BImode, E_VNx8HFmode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5128; /* aarch64_sve_ld1rqvnx8hf */

    case E_VNx4SFmode:
      if (pattern486 (x3, E_V4SFmode, E_VNx4BImode, E_VNx4SFmode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5129; /* aarch64_sve_ld1rqvnx4sf */

    case E_VNx2DFmode:
      if (pattern486 (x3, E_V2DFmode, E_VNx2BImode, E_VNx2DFmode) != 0
          || !
#line 2591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5130; /* aarch64_sve_ld1rqvnx2df */

    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, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern485 (x3, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4785; /* aarch64_ldnt1vnx16qi */

    case E_VNx8HImode:
      if (pattern485 (x3, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4786; /* aarch64_ldnt1vnx8hi */

    case E_VNx4SImode:
      if (pattern485 (x3, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4787; /* aarch64_ldnt1vnx4si */

    case E_VNx2DImode:
      if (pattern485 (x3, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4788; /* aarch64_ldnt1vnx2di */

    case E_VNx8BFmode:
      if (pattern485 (x3, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4789; /* aarch64_ldnt1vnx8bf */

    case E_VNx8HFmode:
      if (pattern485 (x3, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4790; /* aarch64_ldnt1vnx8hf */

    case E_VNx4SFmode:
      if (pattern485 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4791; /* aarch64_ldnt1vnx4sf */

    case E_VNx2DFmode:
      if (pattern485 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4792; /* aarch64_ldnt1vnx2df */

    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, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V8HImode:
          if (pattern70 (x3, E_V8QImode, E_V8HImode) != 0
              || !
#line 4851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2732; /* aarch64_pmullv8qi */

        case E_TImode:
          if (pattern70 (x3, E_DImode, E_TImode) != 0
              || !
#line 8929 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES))
            return -1;
          return 4293; /* aarch64_crypto_pmulldi */

        default:
          return -1;
        }

    case VEC_SELECT:
      if (GET_MODE (x4) != E_V8QImode)
        return -1;
      x5 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x5) != VEC_SELECT
          || GET_MODE (x5) != E_V8QImode
          || !register_operand (operands[0], E_V8HImode)
          || GET_MODE (x3) != E_V8HImode)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (!register_operand (operands[1], E_V16QImode))
        return -1;
      x7 = XEXP (x4, 1);
      operands[3] = x7;
      if (!vect_par_cnst_hi_half (operands[3], E_V16QImode))
        return -1;
      x8 = XEXP (x5, 0);
      operands[2] = x8;
      if (!register_operand (operands[2], E_V16QImode))
        return -1;
      x9 = XEXP (x5, 1);
      if (!rtx_equal_p (x9, operands[3])
          || !
#line 4866 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2733; /* aarch64_pmull_hiv16qi_insn */

    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, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], E_DImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[1]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[1], E_VNx16BImode)
          || !register_operand (operands[2], E_VNx16QImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
        return -1;
      return 8495; /* aarch64_pred_reduc_uadd_vnx16qi */

    case E_VNx8BImode:
      if (!register_operand (operands[1], E_VNx8BImode)
          || !register_operand (operands[2], E_VNx8HImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8497; /* aarch64_pred_reduc_uadd_vnx8hi */

    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode)
          || !register_operand (operands[2], E_VNx4SImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8499; /* aarch64_pred_reduc_uadd_vnx4si */

    case E_VNx2BImode:
      if (!register_operand (operands[1], E_VNx2BImode)
          || !register_operand (operands[2], E_VNx2DImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8500; /* aarch64_pred_reduc_uadd_vnx2di */

    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, 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 E_VNx16QImode:
      if (pattern70 (x3, E_VNx8HImode, E_VNx16QImode) != 0
          || !
#line 8875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8826; /* vec_pack_trunc_vnx8hi */

    case E_VNx8HImode:
      if (pattern70 (x3, E_VNx4SImode, E_VNx8HImode) != 0
          || !
#line 8875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8827; /* vec_pack_trunc_vnx4si */

    case E_VNx4SImode:
      if (pattern70 (x3, E_VNx2DImode, E_VNx4SImode) != 0
          || !
#line 8875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8828; /* vec_pack_trunc_vnx2di */

    case E_VNx16BImode:
      if (pattern70 (x3, E_VNx8BImode, E_VNx16BImode) != 0
          || !
#line 9544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8936; /* vec_pack_trunc_vnx8bi */

    case E_VNx8BImode:
      if (pattern70 (x3, E_VNx4BImode, E_VNx8BImode) != 0
          || !
#line 9544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8937; /* vec_pack_trunc_vnx4bi */

    case E_VNx4BImode:
      if (pattern70 (x3, E_VNx2BImode, E_VNx4BImode) != 0
          || !
#line 9544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8938; /* vec_pack_trunc_vnx2bi */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_DImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], E_DImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[1]))
    {
    case E_VNx16BImode:
      if (!register_operand (operands[1], E_VNx16BImode)
          || !register_operand (operands[2], E_VNx16QImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 8))
        return -1;
      return 8494; /* aarch64_pred_reduc_sadd_vnx16qi */

    case E_VNx8BImode:
      if (!register_operand (operands[1], E_VNx8BImode)
          || !register_operand (operands[2], E_VNx8HImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8496; /* aarch64_pred_reduc_sadd_vnx8hi */

    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode)
          || !register_operand (operands[2], E_VNx4SImode)
          || !
#line 8520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8498; /* aarch64_pred_reduc_sadd_vnx4si */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern69 (x1))
    {
    case 0:
      if (!(
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4218; /* aarch64_frecpsv4hf */

    case 1:
      if (!(
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4219; /* aarch64_frecpsv8hf */

    case 2:
      if (!
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4220; /* aarch64_frecpsv2sf */

    case 3:
      if (!
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4221; /* aarch64_frecpsv4sf */

    case 4:
      if (!
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4222; /* aarch64_frecpsv2df */

    case 5:
      if (!(
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4223; /* aarch64_frecpshf */

    case 6:
      if (!
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4224; /* aarch64_frecpssf */

    case 7:
      if (!
#line 7987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4225; /* aarch64_frecpsdf */

    case 8:
      if (!
#line 5044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6881; /* aarch64_sve_frecpsvnx8hf */

    case 9:
      if (!
#line 5044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6883; /* aarch64_sve_frecpsvnx4sf */

    case 10:
      if (!
#line 5044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6885; /* aarch64_sve_frecpsvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern79 (x1))
    {
    case 0:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3069; /* aarch64_uqrshlv8qi */

    case 1:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3073; /* aarch64_uqrshlv16qi */

    case 2:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3077; /* aarch64_uqrshlv4hi */

    case 3:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3081; /* aarch64_uqrshlv8hi */

    case 4:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3085; /* aarch64_uqrshlv2si */

    case 5:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3089; /* aarch64_uqrshlv4si */

    case 6:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3093; /* aarch64_uqrshlv2di */

    case 7:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3097; /* aarch64_uqrshlqi */

    case 8:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3101; /* aarch64_uqrshlhi */

    case 9:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3105; /* aarch64_uqrshlsi */

    case 10:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3109; /* aarch64_uqrshldi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern79 (x1))
    {
    case 0:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3068; /* aarch64_sqrshlv8qi */

    case 1:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3072; /* aarch64_sqrshlv16qi */

    case 2:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3076; /* aarch64_sqrshlv4hi */

    case 3:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3080; /* aarch64_sqrshlv8hi */

    case 4:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3084; /* aarch64_sqrshlv2si */

    case 5:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3088; /* aarch64_sqrshlv4si */

    case 6:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3092; /* aarch64_sqrshlv2di */

    case 7:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3096; /* aarch64_sqrshlqi */

    case 8:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3100; /* aarch64_sqrshlhi */

    case 9:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3104; /* aarch64_sqrshlsi */

    case 10:
      if (!
#line 6164 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3108; /* aarch64_sqrshldi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern79 (x1))
    {
    case 0:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2800; /* aarch64_usqaddv8qi */

    case 1:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2802; /* aarch64_usqaddv16qi */

    case 2:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2804; /* aarch64_usqaddv4hi */

    case 3:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2806; /* aarch64_usqaddv8hi */

    case 4:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2808; /* aarch64_usqaddv2si */

    case 5:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2810; /* aarch64_usqaddv4si */

    case 6:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2812; /* aarch64_usqaddv2di */

    case 7:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2814; /* aarch64_usqaddqi */

    case 8:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2816; /* aarch64_usqaddhi */

    case 9:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2818; /* aarch64_usqaddsi */

    case 10:
      if (!
#line 4986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2820; /* aarch64_usqadddi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern69 (x1))
    {
    case 0:
      if (!(
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1573; /* aarch64_rsqrtsv4hf */

    case 1:
      if (!(
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1574; /* aarch64_rsqrtsv8hf */

    case 2:
      if (!
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1575; /* aarch64_rsqrtsv2sf */

    case 3:
      if (!
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1576; /* aarch64_rsqrtsv4sf */

    case 4:
      if (!
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1577; /* aarch64_rsqrtsv2df */

    case 5:
      if (!(
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1578; /* aarch64_rsqrtshf */

    case 6:
      if (!
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1579; /* aarch64_rsqrtssf */

    case 7:
      if (!
#line 766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1580; /* aarch64_rsqrtsdf */

    case 8:
      if (!
#line 5044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6882; /* aarch64_sve_frsqrtsvnx8hf */

    case 9:
      if (!
#line 5044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6884; /* aarch64_sve_frsqrtsvnx4sf */

    case 10:
      if (!
#line 5044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6886; /* aarch64_sve_frsqrtsvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern76 (x1))
    {
    case 0:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1865; /* aarch64_sminpv8qi */

    case 1:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1869; /* aarch64_sminpv16qi */

    case 2:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1873; /* aarch64_sminpv4hi */

    case 3:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1877; /* aarch64_sminpv8hi */

    case 4:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1881; /* aarch64_sminpv2si */

    case 5:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1885; /* aarch64_sminpv4si */

    case 6:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8504; /* aarch64_pred_reduc_smin_vnx16qi */

    case 7:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8511; /* aarch64_pred_reduc_smin_vnx8hi */

    case 8:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8518; /* aarch64_pred_reduc_smin_vnx4si */

    case 9:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8525; /* aarch64_pred_reduc_smin_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern76 (x1))
    {
    case 0:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1863; /* aarch64_uminpv8qi */

    case 1:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1867; /* aarch64_uminpv16qi */

    case 2:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1871; /* aarch64_uminpv4hi */

    case 3:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1875; /* aarch64_uminpv8hi */

    case 4:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1879; /* aarch64_uminpv2si */

    case 5:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1883; /* aarch64_uminpv4si */

    case 6:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8506; /* aarch64_pred_reduc_umin_vnx16qi */

    case 7:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8513; /* aarch64_pred_reduc_umin_vnx8hi */

    case 8:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8520; /* aarch64_pred_reduc_umin_vnx4si */

    case 9:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8527; /* aarch64_pred_reduc_umin_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern76 (x1))
    {
    case 0:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1864; /* aarch64_smaxpv8qi */

    case 1:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1868; /* aarch64_smaxpv16qi */

    case 2:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1872; /* aarch64_smaxpv4hi */

    case 3:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1876; /* aarch64_smaxpv8hi */

    case 4:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1880; /* aarch64_smaxpv2si */

    case 5:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1884; /* aarch64_smaxpv4si */

    case 6:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8503; /* aarch64_pred_reduc_smax_vnx16qi */

    case 7:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8510; /* aarch64_pred_reduc_smax_vnx8hi */

    case 8:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8517; /* aarch64_pred_reduc_smax_vnx4si */

    case 9:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8524; /* aarch64_pred_reduc_smax_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern76 (x1))
    {
    case 0:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1862; /* aarch64_umaxpv8qi */

    case 1:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1866; /* aarch64_umaxpv16qi */

    case 2:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1870; /* aarch64_umaxpv4hi */

    case 3:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1874; /* aarch64_umaxpv8hi */

    case 4:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1878; /* aarch64_umaxpv2si */

    case 5:
      if (!
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1882; /* aarch64_umaxpv4si */

    case 6:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8505; /* aarch64_pred_reduc_umax_vnx16qi */

    case 7:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8512; /* aarch64_pred_reduc_umax_vnx8hi */

    case 8:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8519; /* aarch64_pred_reduc_umax_vnx4si */

    case 9:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8526; /* aarch64_pred_reduc_umax_vnx2di */

    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, 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;
  if (!aarch64_tls_ie_symref (operands[1], E_VOIDmode))
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[2], E_SImode)
          || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      return 1039; /* tlsie_tiny_si */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[2], E_DImode)
          || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      return 1040; /* tlsie_tiny_di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern108 (x1))
    {
    case 0:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8732; /* aarch64_sve_uzp2qvnx16qi */

    case 1:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8738; /* aarch64_sve_uzp2qvnx8hi */

    case 2:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8744; /* aarch64_sve_uzp2qvnx4si */

    case 3:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8750; /* aarch64_sve_uzp2qvnx2di */

    case 4:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8756; /* aarch64_sve_uzp2qvnx8bf */

    case 5:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8762; /* aarch64_sve_uzp2qvnx8hf */

    case 6:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8768; /* aarch64_sve_uzp2qvnx4sf */

    case 7:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8774; /* aarch64_sve_uzp2qvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern108 (x1))
    {
    case 0:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8731; /* aarch64_sve_uzp1qvnx16qi */

    case 1:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8737; /* aarch64_sve_uzp1qvnx8hi */

    case 2:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8743; /* aarch64_sve_uzp1qvnx4si */

    case 3:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8749; /* aarch64_sve_uzp1qvnx2di */

    case 4:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8755; /* aarch64_sve_uzp1qvnx8bf */

    case 5:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8761; /* aarch64_sve_uzp1qvnx8hf */

    case 6:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8767; /* aarch64_sve_uzp1qvnx4sf */

    case 7:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8773; /* aarch64_sve_uzp1qvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern108 (x1))
    {
    case 0:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8730; /* aarch64_sve_trn2qvnx16qi */

    case 1:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8736; /* aarch64_sve_trn2qvnx8hi */

    case 2:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8742; /* aarch64_sve_trn2qvnx4si */

    case 3:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8748; /* aarch64_sve_trn2qvnx2di */

    case 4:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8754; /* aarch64_sve_trn2qvnx8bf */

    case 5:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8760; /* aarch64_sve_trn2qvnx8hf */

    case 6:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8766; /* aarch64_sve_trn2qvnx4sf */

    case 7:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8772; /* aarch64_sve_trn2qvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern108 (x1))
    {
    case 0:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8729; /* aarch64_sve_trn1qvnx16qi */

    case 1:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8735; /* aarch64_sve_trn1qvnx8hi */

    case 2:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8741; /* aarch64_sve_trn1qvnx4si */

    case 3:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8747; /* aarch64_sve_trn1qvnx2di */

    case 4:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8753; /* aarch64_sve_trn1qvnx8bf */

    case 5:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8759; /* aarch64_sve_trn1qvnx8hf */

    case 6:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8765; /* aarch64_sve_trn1qvnx4sf */

    case 7:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8771; /* aarch64_sve_trn1qvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern108 (x1))
    {
    case 0:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8728; /* aarch64_sve_zip2qvnx16qi */

    case 1:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8734; /* aarch64_sve_zip2qvnx8hi */

    case 2:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8740; /* aarch64_sve_zip2qvnx4si */

    case 3:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8746; /* aarch64_sve_zip2qvnx2di */

    case 4:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8752; /* aarch64_sve_zip2qvnx8bf */

    case 5:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8758; /* aarch64_sve_zip2qvnx8hf */

    case 6:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8764; /* aarch64_sve_zip2qvnx4sf */

    case 7:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8770; /* aarch64_sve_zip2qvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern108 (x1))
    {
    case 0:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8727; /* aarch64_sve_zip1qvnx16qi */

    case 1:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8733; /* aarch64_sve_zip1qvnx8hi */

    case 2:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8739; /* aarch64_sve_zip1qvnx4si */

    case 3:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8745; /* aarch64_sve_zip1qvnx2di */

    case 4:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8751; /* aarch64_sve_zip1qvnx8bf */

    case 5:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8757; /* aarch64_sve_zip1qvnx8hf */

    case 6:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8763; /* aarch64_sve_zip1qvnx4sf */

    case 7:
      if (!
#line 8781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8769; /* aarch64_sve_zip1qvnx2df */

    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, 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 E_VNx4SImode:
      if (pattern491 (x3, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8555; /* aarch64_sve_compactvnx4si */

    case E_VNx2DImode:
      if (pattern491 (x3, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8556; /* aarch64_sve_compactvnx2di */

    case E_VNx4SFmode:
      if (pattern491 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8557; /* aarch64_sve_compactvnx4sf */

    case E_VNx2DFmode:
      if (pattern491 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8558; /* aarch64_sve_compactvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern101 (x1))
    {
    case 0:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5200; /* extract_last_vnx16qi */

    case 1:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5202; /* extract_last_vnx8hi */

    case 2:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5204; /* extract_last_vnx4si */

    case 3:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5206; /* extract_last_vnx2di */

    case 4:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5208; /* extract_last_vnx8bf */

    case 5:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5210; /* extract_last_vnx8hf */

    case 6:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5212; /* extract_last_vnx4sf */

    case 7:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5214; /* extract_last_vnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern101 (x1))
    {
    case 0:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5199; /* extract_after_last_vnx16qi */

    case 1:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5201; /* extract_after_last_vnx8hi */

    case 2:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5203; /* extract_after_last_vnx4si */

    case 3:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5205; /* extract_after_last_vnx2di */

    case 4:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5207; /* extract_after_last_vnx8bf */

    case 5:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5209; /* extract_after_last_vnx8hf */

    case 6:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5211; /* extract_after_last_vnx4sf */

    case 7:
      if (!
#line 2865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5213; /* extract_after_last_vnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern96 (x1))
    {
    case 0:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3135; /* aarch64_urshr_nv8qi */

    case 1:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3137; /* aarch64_urshr_nv16qi */

    case 2:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3139; /* aarch64_urshr_nv4hi */

    case 3:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3141; /* aarch64_urshr_nv8hi */

    case 4:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3143; /* aarch64_urshr_nv2si */

    case 5:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3145; /* aarch64_urshr_nv4si */

    case 6:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3147; /* aarch64_urshr_nv2di */

    case 7:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3149; /* aarch64_urshr_ndi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern96 (x1))
    {
    case 0:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3134; /* aarch64_srshr_nv8qi */

    case 1:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3136; /* aarch64_srshr_nv16qi */

    case 2:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3138; /* aarch64_srshr_nv4hi */

    case 3:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3140; /* aarch64_srshr_nv8hi */

    case 4:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3142; /* aarch64_srshr_nv2si */

    case 5:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3144; /* aarch64_srshr_nv4si */

    case 6:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3146; /* aarch64_srshr_nv2di */

    case 7:
      if (!
#line 6278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3148; /* aarch64_srshr_ndi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern85 (x1))
    {
    case 0:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3037; /* aarch64_urshlv8qi */

    case 1:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3041; /* aarch64_urshlv16qi */

    case 2:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3045; /* aarch64_urshlv4hi */

    case 3:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3049; /* aarch64_urshlv8hi */

    case 4:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3053; /* aarch64_urshlv2si */

    case 5:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3057; /* aarch64_urshlv4si */

    case 6:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3061; /* aarch64_urshlv2di */

    case 7:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3065; /* aarch64_urshldi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern85 (x1))
    {
    case 0:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3036; /* aarch64_srshlv8qi */

    case 1:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3040; /* aarch64_srshlv16qi */

    case 2:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3044; /* aarch64_srshlv4hi */

    case 3:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3048; /* aarch64_srshlv8hi */

    case 4:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3052; /* aarch64_srshlv2si */

    case 5:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3056; /* aarch64_srshlv4si */

    case 6:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3060; /* aarch64_srshlv2di */

    case 7:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3064; /* aarch64_srshldi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern85 (x1))
    {
    case 0:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3035; /* aarch64_ushlv8qi */

    case 1:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3039; /* aarch64_ushlv16qi */

    case 2:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3043; /* aarch64_ushlv4hi */

    case 3:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3047; /* aarch64_ushlv8hi */

    case 4:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3051; /* aarch64_ushlv2si */

    case 5:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3055; /* aarch64_ushlv4si */

    case 6:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3059; /* aarch64_ushlv2di */

    case 7:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3063; /* aarch64_ushldi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern85 (x1))
    {
    case 0:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3034; /* aarch64_sshlv8qi */

    case 1:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3038; /* aarch64_sshlv16qi */

    case 2:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3042; /* aarch64_sshlv4hi */

    case 3:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3046; /* aarch64_sshlv8hi */

    case 4:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3050; /* aarch64_sshlv2si */

    case 5:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3054; /* aarch64_sshlv4si */

    case 6:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3058; /* aarch64_sshlv2di */

    case 7:
      if (!
#line 6150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3062; /* aarch64_sshldi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern77 (x1))
    {
    case 0:
      if (!(
#line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2364; /* aarch64_faddpv4hf */

    case 1:
      if (!(
#line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2365; /* aarch64_faddpv8hf */

    case 2:
      if (!
#line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2366; /* aarch64_faddpv2sf */

    case 3:
      if (!
#line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2367; /* aarch64_faddpv4sf */

    case 4:
      if (!
#line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2368; /* aarch64_faddpv2df */

    case 5:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8529; /* aarch64_pred_reduc_plus_vnx8hf */

    case 6:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8534; /* aarch64_pred_reduc_plus_vnx4sf */

    case 7:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8539; /* aarch64_pred_reduc_plus_vnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern77 (x1))
    {
    case 0:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1888; /* aarch64_smaxpv4hf */

    case 1:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1892; /* aarch64_smaxpv8hf */

    case 2:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1896; /* aarch64_smaxpv2sf */

    case 3:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1900; /* aarch64_smaxpv4sf */

    case 4:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1904; /* aarch64_smaxpv2df */

    case 5:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8531; /* aarch64_pred_reduc_smax_vnx8hf */

    case 6:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8536; /* aarch64_pred_reduc_smax_vnx4sf */

    case 7:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8541; /* aarch64_pred_reduc_smax_vnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern77 (x1))
    {
    case 0:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1889; /* aarch64_sminpv4hf */

    case 1:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1893; /* aarch64_sminpv8hf */

    case 2:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1897; /* aarch64_sminpv2sf */

    case 3:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1901; /* aarch64_sminpv4sf */

    case 4:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1905; /* aarch64_sminpv2df */

    case 5:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8533; /* aarch64_pred_reduc_smin_vnx8hf */

    case 6:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8538; /* aarch64_pred_reduc_smin_vnx4sf */

    case 7:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8543; /* aarch64_pred_reduc_smin_vnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern77 (x1))
    {
    case 0:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1887; /* aarch64_smin_nanpv4hf */

    case 1:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1891; /* aarch64_smin_nanpv8hf */

    case 2:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1895; /* aarch64_smin_nanpv2sf */

    case 3:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1899; /* aarch64_smin_nanpv4sf */

    case 4:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1903; /* aarch64_smin_nanpv2df */

    case 5:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8532; /* aarch64_pred_reduc_smin_nan_vnx8hf */

    case 6:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8537; /* aarch64_pred_reduc_smin_nan_vnx4sf */

    case 7:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8542; /* aarch64_pred_reduc_smin_nan_vnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern77 (x1))
    {
    case 0:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1886; /* aarch64_smax_nanpv4hf */

    case 1:
      if (!(
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1890; /* aarch64_smax_nanpv8hf */

    case 2:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1894; /* aarch64_smax_nanpv2sf */

    case 3:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1898; /* aarch64_smax_nanpv4sf */

    case 4:
      if (!
#line 1571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1902; /* aarch64_smax_nanpv2df */

    case 5:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8530; /* aarch64_pred_reduc_smax_nan_vnx8hf */

    case 6:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8535; /* aarch64_pred_reduc_smax_nan_vnx4sf */

    case 7:
      if (!
#line 8586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8540; /* aarch64_pred_reduc_smax_nan_vnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL
      || pattern38 (x1) != 0)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[0] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!memory_operand (operands[0], E_SImode)
          || !memory_operand (operands[1], E_SImode)
          || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      *pnum_clobbers = 2;
      return 1073; /* stack_protect_test_si */

    case E_DImode:
      if (!memory_operand (operands[0], E_DImode)
          || !memory_operand (operands[1], E_DImode)
          || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      *pnum_clobbers = 2;
      return 1074; /* stack_protect_test_di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern62 (x1))
    {
    case 0:
      if (!(
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1005; /* fminhf3 */

    case 1:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1009; /* fminsf3 */

    case 2:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1013; /* fmindf3 */

    case 3:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2347; /* fminv4hf3 */

    case 4:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2351; /* fminv8hf3 */

    case 5:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2355; /* fminv2sf3 */

    case 6:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2359; /* fminv4sf3 */

    case 7:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2363; /* fminv2df3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern62 (x1))
    {
    case 0:
      if (!(
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1004; /* fmaxhf3 */

    case 1:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1008; /* fmaxsf3 */

    case 2:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1012; /* fmaxdf3 */

    case 3:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2346; /* fmaxv4hf3 */

    case 4:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2350; /* fmaxv8hf3 */

    case 5:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2354; /* fmaxv2sf3 */

    case 6:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2358; /* fmaxv4sf3 */

    case 7:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2362; /* fmaxv2df3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern62 (x1))
    {
    case 0:
      if (!(
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1003; /* fmin_nanhf3 */

    case 1:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1007; /* fmin_nansf3 */

    case 2:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1011; /* fmin_nandf3 */

    case 3:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2345; /* fmin_nanv4hf3 */

    case 4:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2349; /* fmin_nanv8hf3 */

    case 5:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2353; /* fmin_nanv2sf3 */

    case 6:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2357; /* fmin_nanv4sf3 */

    case 7:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2361; /* fmin_nanv2df3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern62 (x1))
    {
    case 0:
      if (!(
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1002; /* fmax_nanhf3 */

    case 1:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1006; /* fmax_nansf3 */

    case 2:
      if (!
#line 6633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1010; /* fmax_nandf3 */

    case 3:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2344; /* fmax_nanv4hf3 */

    case 4:
      if (!(
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2348; /* fmax_nanv8hf3 */

    case 5:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2352; /* fmax_nanv2sf3 */

    case 6:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2356; /* fmax_nanv4sf3 */

    case 7:
      if (!
#line 3381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2360; /* fmax_nanv2df3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern60 (x1))
    {
    case 0:
      return 958; /* ucvtfsi3 */

    case 1:
      return 960; /* ucvtfdi3 */

    case 2:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 966; /* ucvtfsihf3 */

    case 3:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 968; /* ucvtfdihf3 */

    case 4:
      if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 972; /* ucvtfhi3 */

    case 5:
      if (!(
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2311; /* ucvtfv4hi3 */

    case 6:
      if (!(
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2313; /* ucvtfv8hi3 */

    case 7:
      if (!
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2315; /* ucvtfv2si3 */

    case 8:
      if (!
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2317; /* ucvtfv4si3 */

    case 9:
      if (!
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2319; /* ucvtfv2di3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern60 (x1))
    {
    case 0:
      return 957; /* scvtfsi3 */

    case 1:
      return 959; /* scvtfdi3 */

    case 2:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 965; /* scvtfsihf3 */

    case 3:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 967; /* scvtfdihf3 */

    case 4:
      if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 971; /* scvtfhi3 */

    case 5:
      if (!(
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2310; /* scvtfv4hi3 */

    case 6:
      if (!(
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2312; /* scvtfv8hi3 */

    case 7:
      if (!
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2314; /* scvtfv2si3 */

    case 8:
      if (!
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2316; /* scvtfv4si3 */

    case 9:
      if (!
#line 3156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2318; /* scvtfv2di3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern59 (x1))
    {
    case 0:
      return 954; /* fcvtzusf3 */

    case 1:
      if (!
#line 6460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 962; /* fcvtzuhfsi3 */

    case 2:
      return 956; /* fcvtzudf3 */

    case 3:
      if (!
#line 6460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 964; /* fcvtzuhfdi3 */

    case 4:
      if (!
#line 6480 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 970; /* fcvtzuhf3 */

    case 5:
      if (!(
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2301; /* fcvtzuv4hf3 */

    case 6:
      if (!(
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2303; /* fcvtzuv8hf3 */

    case 7:
      if (!
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2305; /* fcvtzuv2sf3 */

    case 8:
      if (!
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2307; /* fcvtzuv4sf3 */

    case 9:
      if (!
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2309; /* fcvtzuv2df3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern59 (x1))
    {
    case 0:
      return 953; /* fcvtzssf3 */

    case 1:
      if (!
#line 6460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 961; /* fcvtzshfsi3 */

    case 2:
      return 955; /* fcvtzsdf3 */

    case 3:
      if (!
#line 6460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 963; /* fcvtzshfdi3 */

    case 4:
      if (!
#line 6480 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 969; /* fcvtzshf3 */

    case 5:
      if (!(
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2300; /* fcvtzsv4hf3 */

    case 6:
      if (!(
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2302; /* fcvtzsv8hf3 */

    case 7:
      if (!
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2304; /* fcvtzsv2sf3 */

    case 8:
      if (!
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2306; /* fcvtzsv4sf3 */

    case 9:
      if (!
#line 3145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2308; /* fcvtzsv2df3 */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_VNx16BImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 85
      || GET_MODE (x3) != E_VNx16BImode)
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 84
      || pattern65 (x1, E_VNx16BImode, 84) != 0
      || !
#line 1101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
    return -1;
  return 4637; /* aarch64_update_ffr_for_load */
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern74 (x1))
    {
    case 0:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3506; /* aarch64_addpv8qi */

    case 1:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3507; /* aarch64_addpv16qi */

    case 2:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3508; /* aarch64_addpv4hi */

    case 3:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3509; /* aarch64_addpv8hi */

    case 4:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3510; /* aarch64_addpv2si */

    case 5:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3511; /* aarch64_addpv4si */

    case 6:
      if (!
#line 6700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3512; /* aarch64_addpv2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern74 (x1))
    {
    case 0:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1789; /* aarch64_simd_reg_shlv8qi_signed */

    case 1:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1790; /* aarch64_simd_reg_shlv16qi_signed */

    case 2:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1791; /* aarch64_simd_reg_shlv4hi_signed */

    case 3:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1792; /* aarch64_simd_reg_shlv8hi_signed */

    case 4:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1793; /* aarch64_simd_reg_shlv2si_signed */

    case 5:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1794; /* aarch64_simd_reg_shlv4si_signed */

    case 6:
      if (!
#line 1186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1795; /* aarch64_simd_reg_shlv2di_signed */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern74 (x1))
    {
    case 0:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1782; /* aarch64_simd_reg_shlv8qi_unsigned */

    case 1:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1783; /* aarch64_simd_reg_shlv16qi_unsigned */

    case 2:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1784; /* aarch64_simd_reg_shlv4hi_unsigned */

    case 3:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1785; /* aarch64_simd_reg_shlv8hi_unsigned */

    case 4:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1786; /* aarch64_simd_reg_shlv2si_unsigned */

    case 5:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1787; /* aarch64_simd_reg_shlv4si_unsigned */

    case 6:
      if (!
#line 1176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1788; /* aarch64_simd_reg_shlv2di_unsigned */

    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;
  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 E_V8QImode:
      if (pattern61 (x3, E_V8QImode) != 0
          || !
#line 4841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2730; /* aarch64_pmulv8qi */

    case E_V16QImode:
      if (pattern61 (x3, E_V16QImode) != 0
          || !
#line 4841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2731; /* aarch64_pmulv16qi */

    case E_VNx16QImode:
      if (pattern61 (x3, E_VNx16QImode) != 0
          || !
#line 2286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9903; /* aarch64_sve2_pmulvnx16qi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern78 (x1))
    {
    case 0:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2651; /* aarch64_uhsubv8qi */

    case 1:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2657; /* aarch64_uhsubv16qi */

    case 2:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2663; /* aarch64_uhsubv4hi */

    case 3:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2669; /* aarch64_uhsubv8hi */

    case 4:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2675; /* aarch64_uhsubv2si */

    case 5:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2681; /* aarch64_uhsubv4si */

    default:
      return -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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern78 (x1))
    {
    case 0:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2650; /* aarch64_shsubv8qi */

    case 1:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2656; /* aarch64_shsubv16qi */

    case 2:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2662; /* aarch64_shsubv4hi */

    case 3:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2668; /* aarch64_shsubv8hi */

    case 4:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2674; /* aarch64_shsubv2si */

    case 5:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2680; /* aarch64_shsubv4si */

    default:
      return -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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern78 (x1))
    {
    case 0:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2649; /* aarch64_urhaddv8qi */

    case 1:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2655; /* aarch64_urhaddv16qi */

    case 2:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2661; /* aarch64_urhaddv4hi */

    case 3:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2667; /* aarch64_urhaddv8hi */

    case 4:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2673; /* aarch64_urhaddv2si */

    case 5:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2679; /* aarch64_urhaddv4si */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern78 (x1))
    {
    case 0:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2648; /* aarch64_srhaddv8qi */

    case 1:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2654; /* aarch64_srhaddv16qi */

    case 2:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2660; /* aarch64_srhaddv4hi */

    case 3:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2666; /* aarch64_srhaddv8hi */

    case 4:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2672; /* aarch64_srhaddv2si */

    case 5:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2678; /* aarch64_srhaddv4si */

    default:
      return -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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern78 (x1))
    {
    case 0:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2647; /* aarch64_uhaddv8qi */

    case 1:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2653; /* aarch64_uhaddv16qi */

    case 2:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2659; /* aarch64_uhaddv4hi */

    case 3:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2665; /* aarch64_uhaddv8hi */

    case 4:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2671; /* aarch64_uhaddv2si */

    case 5:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2677; /* aarch64_uhaddv4si */

    default:
      return -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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern78 (x1))
    {
    case 0:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2646; /* aarch64_shaddv8qi */

    case 1:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2652; /* aarch64_shaddv16qi */

    case 2:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2658; /* aarch64_shaddv4hi */

    case 3:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2664; /* aarch64_shaddv8hi */

    case 4:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2670; /* aarch64_shaddv2si */

    case 5:
      if (!
#line 4738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2676; /* aarch64_shaddv4si */

    default:
      return -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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern73 (x1))
    {
    case 0:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1643; /* aarch64_uadalpv8qi */

    case 1:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1645; /* aarch64_uadalpv16qi */

    case 2:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1647; /* aarch64_uadalpv4hi */

    case 3:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1649; /* aarch64_uadalpv8hi */

    case 4:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1651; /* aarch64_uadalpv4si */

    case 5:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1653; /* aarch64_uadalpv2si */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern73 (x1))
    {
    case 0:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1642; /* aarch64_sadalpv8qi */

    case 1:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1644; /* aarch64_sadalpv16qi */

    case 2:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1646; /* aarch64_sadalpv4hi */

    case 3:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1648; /* aarch64_sadalpv8hi */

    case 4:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1650; /* aarch64_sadalpv4si */

    case 5:
      if (!
#line 899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1652; /* aarch64_sadalpv2si */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9506; /* aarch64_sve_umulltvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9527; /* aarch64_sve_umulltvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9548; /* aarch64_sve_umulltvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9556; /* aarch64_sve_umullt_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9562; /* aarch64_sve_umullt_lane_vnx2di */

    default:
      return -1;
    }
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9505; /* aarch64_sve_umullbvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9526; /* aarch64_sve_umullbvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9547; /* aarch64_sve_umullbvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9555; /* aarch64_sve_umullb_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9561; /* aarch64_sve_umullb_lane_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9496; /* aarch64_sve_sqdmulltvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9517; /* aarch64_sve_sqdmulltvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9538; /* aarch64_sve_sqdmulltvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9554; /* aarch64_sve_sqdmullt_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9560; /* aarch64_sve_sqdmullt_lane_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9495; /* aarch64_sve_sqdmullbvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9516; /* aarch64_sve_sqdmullbvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9537; /* aarch64_sve_sqdmullbvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9553; /* aarch64_sve_sqdmullb_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9559; /* aarch64_sve_sqdmullb_lane_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9494; /* aarch64_sve_smulltvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9515; /* aarch64_sve_smulltvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9536; /* aarch64_sve_smulltvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9552; /* aarch64_sve_smullt_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9558; /* aarch64_sve_smullt_lane_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9493; /* aarch64_sve_smullbvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9514; /* aarch64_sve_smullbvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9535; /* aarch64_sve_smullbvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9551; /* aarch64_sve_smullb_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9557; /* aarch64_sve_smullb_lane_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern68 (x1))
    {
    case 0:
      if (!(
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1456; /* aarch64_fcadd270v4hf */

    case 1:
      if (!(
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1458; /* aarch64_fcadd270v8hf */

    case 2:
      if (!
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1460; /* aarch64_fcadd270v2sf */

    case 3:
      if (!
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1462; /* aarch64_fcadd270v4sf */

    case 4:
      if (!
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1464; /* aarch64_fcadd270v2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern68 (x1))
    {
    case 0:
      if (!(
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1455; /* aarch64_fcadd90v4hf */

    case 1:
      if (!(
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1457; /* aarch64_fcadd90v8hf */

    case 2:
      if (!
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1459; /* aarch64_fcadd90v2sf */

    case 3:
      if (!
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1461; /* aarch64_fcadd90v4sf */

    case 4:
      if (!
#line 481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1463; /* aarch64_fcadd90v2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9931; /* aarch64_sve_bextvnx16qi */

    case 1:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9934; /* aarch64_sve_bextvnx8hi */

    case 2:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9937; /* aarch64_sve_bextvnx4si */

    case 3:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9940; /* aarch64_sve_bextvnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9932; /* aarch64_sve_bgrpvnx16qi */

    case 1:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9935; /* aarch64_sve_bgrpvnx8hi */

    case 2:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9938; /* aarch64_sve_bgrpvnx4si */

    case 3:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9941; /* aarch64_sve_bgrpvnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9930; /* aarch64_sve_bdepvnx16qi */

    case 1:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9933; /* aarch64_sve_bdepvnx8hi */

    case 2:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9936; /* aarch64_sve_bdepvnx4si */

    case 3:
      if (!
#line 2365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 9939; /* aarch64_sve_bdepvnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9801; /* aarch64_sve_sqcadd270vnx16qi */

    case 1:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9805; /* aarch64_sve_sqcadd270vnx8hi */

    case 2:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9809; /* aarch64_sve_sqcadd270vnx4si */

    case 3:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9813; /* aarch64_sve_sqcadd270vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9800; /* aarch64_sve_sqcadd90vnx16qi */

    case 1:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9804; /* aarch64_sve_sqcadd90vnx8hi */

    case 2:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9808; /* aarch64_sve_sqcadd90vnx4si */

    case 3:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9812; /* aarch64_sve_sqcadd90vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9799; /* aarch64_sve_cadd270vnx16qi */

    case 1:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9803; /* aarch64_sve_cadd270vnx8hi */

    case 2:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9807; /* aarch64_sve_cadd270vnx4si */

    case 3:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9811; /* aarch64_sve_cadd270vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern120 (x1))
    {
    case 0:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9798; /* aarch64_sve_cadd90vnx16qi */

    case 1:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9802; /* aarch64_sve_cadd90vnx8hi */

    case 2:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9806; /* aarch64_sve_cadd90vnx4si */

    case 3:
      if (!
#line 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9810; /* aarch64_sve_cadd90vnx2di */

    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 (pattern107 (x1))
    {
    case 0:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8502; /* aarch64_pred_reduc_ior_vnx16qi */

    case 1:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8509; /* aarch64_pred_reduc_ior_vnx8hi */

    case 2:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8516; /* aarch64_pred_reduc_ior_vnx4si */

    case 3:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8523; /* aarch64_pred_reduc_ior_vnx2di */

    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 (pattern107 (x1))
    {
    case 0:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8507; /* aarch64_pred_reduc_xor_vnx16qi */

    case 1:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8514; /* aarch64_pred_reduc_xor_vnx8hi */

    case 2:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8521; /* aarch64_pred_reduc_xor_vnx4si */

    case 3:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8528; /* aarch64_pred_reduc_xor_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern107 (x1))
    {
    case 0:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8501; /* aarch64_pred_reduc_and_vnx16qi */

    case 1:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8508; /* aarch64_pred_reduc_and_vnx8hi */

    case 2:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8515; /* aarch64_pred_reduc_and_vnx4si */

    case 3:
      if (!
#line 8542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8522; /* aarch64_pred_reduc_and_vnx2di */

    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];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_V3x8QImode:
      if (!register_operand (operands[0], E_V3x8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8QImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3759; /* aarch64_ld1_x3_v8qi */

    case E_V3x4HImode:
      if (!register_operand (operands[0], E_V3x4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4HImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3760; /* aarch64_ld1_x3_v4hi */

    case E_V3x2SImode:
      if (!register_operand (operands[0], E_V3x2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2SImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3761; /* aarch64_ld1_x3_v2si */

    case E_V3x1DImode:
      if (!register_operand (operands[0], E_V3x1DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x1DImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x1DImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3762; /* aarch64_ld1_x3_di */

    case E_V3x4HFmode:
      if (!register_operand (operands[0], E_V3x4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4HFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3763; /* aarch64_ld1_x3_v4hf */

    case E_V3x2SFmode:
      if (!register_operand (operands[0], E_V3x2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2SFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3764; /* aarch64_ld1_x3_v2sf */

    case E_V3x1DFmode:
      if (!register_operand (operands[0], E_V3x1DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x1DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x1DFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3765; /* aarch64_ld1_x3_df */

    case E_V3x4BFmode:
      if (!register_operand (operands[0], E_V3x4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4BFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3766; /* aarch64_ld1_x3_v4bf */

    case E_V3x16QImode:
      if (!register_operand (operands[0], E_V3x16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x16QImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3767; /* aarch64_ld1_x3_v16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[0], E_V3x8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8HImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3768; /* aarch64_ld1_x3_v8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[0], E_V3x4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4SImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3769; /* aarch64_ld1_x3_v4si */

    case E_V3x2DImode:
      if (!register_operand (operands[0], E_V3x2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2DImode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3770; /* aarch64_ld1_x3_v2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[0], E_V3x8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8HFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3771; /* aarch64_ld1_x3_v8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[0], E_V3x4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4SFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3772; /* aarch64_ld1_x3_v4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[0], E_V3x2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2DFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3773; /* aarch64_ld1_x3_v2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[0], E_V3x8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8BFmode)
          || !
#line 7111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3774; /* aarch64_ld1_x3_v8bf */

    case E_V4x8QImode:
      if (!register_operand (operands[0], E_V4x8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8QImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3775; /* aarch64_ld1_x4_v8qi */

    case E_V4x4HImode:
      if (!register_operand (operands[0], E_V4x4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4HImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3776; /* aarch64_ld1_x4_v4hi */

    case E_V4x2SImode:
      if (!register_operand (operands[0], E_V4x2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2SImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3777; /* aarch64_ld1_x4_v2si */

    case E_V4x1DImode:
      if (!register_operand (operands[0], E_V4x1DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x1DImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x1DImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3778; /* aarch64_ld1_x4_di */

    case E_V4x4HFmode:
      if (!register_operand (operands[0], E_V4x4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4HFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3779; /* aarch64_ld1_x4_v4hf */

    case E_V4x2SFmode:
      if (!register_operand (operands[0], E_V4x2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2SFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3780; /* aarch64_ld1_x4_v2sf */

    case E_V4x1DFmode:
      if (!register_operand (operands[0], E_V4x1DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x1DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x1DFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3781; /* aarch64_ld1_x4_df */

    case E_V4x4BFmode:
      if (!register_operand (operands[0], E_V4x4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4BFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3782; /* aarch64_ld1_x4_v4bf */

    case E_V4x16QImode:
      if (!register_operand (operands[0], E_V4x16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x16QImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3783; /* aarch64_ld1_x4_v16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[0], E_V4x8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8HImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3784; /* aarch64_ld1_x4_v8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[0], E_V4x4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4SImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3785; /* aarch64_ld1_x4_v4si */

    case E_V4x2DImode:
      if (!register_operand (operands[0], E_V4x2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2DImode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3786; /* aarch64_ld1_x4_v2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[0], E_V4x8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8HFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3787; /* aarch64_ld1_x4_v8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[0], E_V4x4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4SFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3788; /* aarch64_ld1_x4_v4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[0], E_V4x2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2DFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3789; /* aarch64_ld1_x4_v2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[0], E_V4x8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8BFmode)
          || !
#line 7131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3790; /* aarch64_ld1_x4_v8bf */

    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V8QImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3891; /* aarch64_be_ld1v8qi */

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V16QImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3892; /* aarch64_be_ld1v16qi */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V4HImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3893; /* aarch64_be_ld1v4hi */

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V8HImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3894; /* aarch64_be_ld1v8hi */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V2SImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3895; /* aarch64_be_ld1v2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V4SImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3896; /* aarch64_be_ld1v4si */

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V2DImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3897; /* aarch64_be_ld1v2di */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4HFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3898; /* aarch64_be_ld1v4hf */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V8HFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3899; /* aarch64_be_ld1v8hf */

    case E_V4BFmode:
      if (!register_operand (operands[0], E_V4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4BFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3900; /* aarch64_be_ld1v4bf */

    case E_V8BFmode:
      if (!register_operand (operands[0], E_V8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V8BFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3901; /* aarch64_be_ld1v8bf */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2SFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3902; /* aarch64_be_ld1v2sf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4SFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3903; /* aarch64_be_ld1v4sf */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2DFmode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3904; /* aarch64_be_ld1v2df */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_DImode
          || !aarch64_simd_struct_operand (operands[1], E_DImode)
          || !
#line 7241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3905; /* aarch64_be_ld1di */

    case E_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8QImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4191; /* aarch64_simd_ld1v8qi_x2 */

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4HImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4192; /* aarch64_simd_ld1v4hi_x2 */

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2SImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4193; /* aarch64_simd_ld1v2si_x2 */

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x1DImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x1DImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4194; /* aarch64_simd_ld1di_x2 */

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4HFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4195; /* aarch64_simd_ld1v4hf_x2 */

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2SFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4196; /* aarch64_simd_ld1v2sf_x2 */

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x1DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x1DFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4197; /* aarch64_simd_ld1df_x2 */

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4BFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4198; /* aarch64_simd_ld1v4bf_x2 */

    case E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x16QImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4199; /* aarch64_simd_ld1v16qi_x2 */

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8HImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4200; /* aarch64_simd_ld1v8hi_x2 */

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4SImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4201; /* aarch64_simd_ld1v4si_x2 */

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2DImode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4202; /* aarch64_simd_ld1v2di_x2 */

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8HFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4203; /* aarch64_simd_ld1v8hf_x2 */

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4SFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4204; /* aarch64_simd_ld1v4sf_x2 */

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2DFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4205; /* aarch64_simd_ld1v2df_x2 */

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8BFmode)
          || !
#line 7956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4206; /* aarch64_simd_ld1v8bf_x2 */

    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];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_V2x8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8QImode
          || !register_operand (operands[1], E_V2x8QImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3791; /* aarch64_st1_x2_v8qi */

    case E_V2x4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4HImode
          || !register_operand (operands[1], E_V2x4HImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3792; /* aarch64_st1_x2_v4hi */

    case E_V2x2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2SImode
          || !register_operand (operands[1], E_V2x2SImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3793; /* aarch64_st1_x2_v2si */

    case E_V2x1DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x1DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x1DImode
          || !register_operand (operands[1], E_V2x1DImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3794; /* aarch64_st1_x2_di */

    case E_V2x4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4HFmode
          || !register_operand (operands[1], E_V2x4HFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3795; /* aarch64_st1_x2_v4hf */

    case E_V2x2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2SFmode
          || !register_operand (operands[1], E_V2x2SFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3796; /* aarch64_st1_x2_v2sf */

    case E_V2x1DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x1DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x1DFmode
          || !register_operand (operands[1], E_V2x1DFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3797; /* aarch64_st1_x2_df */

    case E_V2x4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4BFmode
          || !register_operand (operands[1], E_V2x4BFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3798; /* aarch64_st1_x2_v4bf */

    case E_V2x16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x16QImode
          || !register_operand (operands[1], E_V2x16QImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3799; /* aarch64_st1_x2_v16qi */

    case E_V2x8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8HImode
          || !register_operand (operands[1], E_V2x8HImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3800; /* aarch64_st1_x2_v8hi */

    case E_V2x4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4SImode
          || !register_operand (operands[1], E_V2x4SImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3801; /* aarch64_st1_x2_v4si */

    case E_V2x2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2DImode
          || !register_operand (operands[1], E_V2x2DImode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3802; /* aarch64_st1_x2_v2di */

    case E_V2x8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8HFmode
          || !register_operand (operands[1], E_V2x8HFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3803; /* aarch64_st1_x2_v8hf */

    case E_V2x4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x4SFmode
          || !register_operand (operands[1], E_V2x4SFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3804; /* aarch64_st1_x2_v4sf */

    case E_V2x2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x2DFmode
          || !register_operand (operands[1], E_V2x2DFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3805; /* aarch64_st1_x2_v2df */

    case E_V2x8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2x8BFmode
          || !register_operand (operands[1], E_V2x8BFmode)
          || !
#line 7151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3806; /* aarch64_st1_x2_v8bf */

    case E_V3x8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8QImode
          || !register_operand (operands[1], E_V3x8QImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3807; /* aarch64_st1_x3_v8qi */

    case E_V3x4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4HImode
          || !register_operand (operands[1], E_V3x4HImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3808; /* aarch64_st1_x3_v4hi */

    case E_V3x2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2SImode
          || !register_operand (operands[1], E_V3x2SImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3809; /* aarch64_st1_x3_v2si */

    case E_V3x1DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x1DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x1DImode
          || !register_operand (operands[1], E_V3x1DImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3810; /* aarch64_st1_x3_di */

    case E_V3x4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4HFmode
          || !register_operand (operands[1], E_V3x4HFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3811; /* aarch64_st1_x3_v4hf */

    case E_V3x2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2SFmode
          || !register_operand (operands[1], E_V3x2SFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3812; /* aarch64_st1_x3_v2sf */

    case E_V3x1DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x1DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x1DFmode
          || !register_operand (operands[1], E_V3x1DFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3813; /* aarch64_st1_x3_df */

    case E_V3x4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4BFmode
          || !register_operand (operands[1], E_V3x4BFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3814; /* aarch64_st1_x3_v4bf */

    case E_V3x16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x16QImode
          || !register_operand (operands[1], E_V3x16QImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3815; /* aarch64_st1_x3_v16qi */

    case E_V3x8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8HImode
          || !register_operand (operands[1], E_V3x8HImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3816; /* aarch64_st1_x3_v8hi */

    case E_V3x4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4SImode
          || !register_operand (operands[1], E_V3x4SImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3817; /* aarch64_st1_x3_v4si */

    case E_V3x2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2DImode
          || !register_operand (operands[1], E_V3x2DImode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3818; /* aarch64_st1_x3_v2di */

    case E_V3x8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8HFmode
          || !register_operand (operands[1], E_V3x8HFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3819; /* aarch64_st1_x3_v8hf */

    case E_V3x4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x4SFmode
          || !register_operand (operands[1], E_V3x4SFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3820; /* aarch64_st1_x3_v4sf */

    case E_V3x2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x2DFmode
          || !register_operand (operands[1], E_V3x2DFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3821; /* aarch64_st1_x3_v2df */

    case E_V3x8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V3x8BFmode
          || !register_operand (operands[1], E_V3x8BFmode)
          || !
#line 7171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3822; /* aarch64_st1_x3_v8bf */

    case E_V4x8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8QImode
          || !register_operand (operands[1], E_V4x8QImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3823; /* aarch64_st1_x4_v8qi */

    case E_V4x4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4HImode
          || !register_operand (operands[1], E_V4x4HImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3824; /* aarch64_st1_x4_v4hi */

    case E_V4x2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2SImode
          || !register_operand (operands[1], E_V4x2SImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3825; /* aarch64_st1_x4_v2si */

    case E_V4x1DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x1DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x1DImode
          || !register_operand (operands[1], E_V4x1DImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3826; /* aarch64_st1_x4_di */

    case E_V4x4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4HFmode
          || !register_operand (operands[1], E_V4x4HFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3827; /* aarch64_st1_x4_v4hf */

    case E_V4x2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2SFmode
          || !register_operand (operands[1], E_V4x2SFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3828; /* aarch64_st1_x4_v2sf */

    case E_V4x1DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x1DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x1DFmode
          || !register_operand (operands[1], E_V4x1DFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3829; /* aarch64_st1_x4_df */

    case E_V4x4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4BFmode
          || !register_operand (operands[1], E_V4x4BFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3830; /* aarch64_st1_x4_v4bf */

    case E_V4x16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x16QImode
          || !register_operand (operands[1], E_V4x16QImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3831; /* aarch64_st1_x4_v16qi */

    case E_V4x8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8HImode
          || !register_operand (operands[1], E_V4x8HImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3832; /* aarch64_st1_x4_v8hi */

    case E_V4x4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4SImode
          || !register_operand (operands[1], E_V4x4SImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3833; /* aarch64_st1_x4_v4si */

    case E_V4x2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2DImode
          || !register_operand (operands[1], E_V4x2DImode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3834; /* aarch64_st1_x4_v2di */

    case E_V4x8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8HFmode
          || !register_operand (operands[1], E_V4x8HFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3835; /* aarch64_st1_x4_v8hf */

    case E_V4x4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x4SFmode
          || !register_operand (operands[1], E_V4x4SFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3836; /* aarch64_st1_x4_v4sf */

    case E_V4x2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x2DFmode
          || !register_operand (operands[1], E_V4x2DFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3837; /* aarch64_st1_x4_v2df */

    case E_V4x8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4x8BFmode
          || !register_operand (operands[1], E_V4x8BFmode)
          || !
#line 7191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3838; /* aarch64_st1_x4_v8bf */

    case E_V8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3906; /* aarch64_be_st1v8qi */

    case E_V16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V16QImode
          || !register_operand (operands[1], E_V16QImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3907; /* aarch64_be_st1v16qi */

    case E_V4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HImode
          || !register_operand (operands[1], E_V4HImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3908; /* aarch64_be_st1v4hi */

    case E_V8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3909; /* aarch64_be_st1v8hi */

    case E_V2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3910; /* aarch64_be_st1v2si */

    case E_V4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3911; /* aarch64_be_st1v4si */

    case E_V2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3912; /* aarch64_be_st1v2di */

    case E_V4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3913; /* aarch64_be_st1v4hf */

    case E_V8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3914; /* aarch64_be_st1v8hf */

    case E_V4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4BFmode
          || !register_operand (operands[1], E_V4BFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3915; /* aarch64_be_st1v4bf */

    case E_V8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8BFmode
          || !register_operand (operands[1], E_V8BFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3916; /* aarch64_be_st1v8bf */

    case E_V2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3917; /* aarch64_be_st1v2sf */

    case E_V4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3918; /* aarch64_be_st1v4sf */

    case E_V2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3919; /* aarch64_be_st1v2df */

    case E_DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !
#line 7250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3920; /* aarch64_be_st1di */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 802; /* aarch64_rev16si */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode))
        return -1;
      return 803; /* aarch64_rev16di */

    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x3) != E_VNx16QImode
          || !register_operand (operands[1], E_VNx16QImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8586; /* aarch64_sve_revvnx16qi */

    case E_VNx8QImode:
      if (!register_operand (operands[0], E_VNx8QImode)
          || GET_MODE (x3) != E_VNx8QImode
          || !register_operand (operands[1], E_VNx8QImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8587; /* aarch64_sve_revvnx8qi */

    case E_VNx4QImode:
      if (!register_operand (operands[0], E_VNx4QImode)
          || GET_MODE (x3) != E_VNx4QImode
          || !register_operand (operands[1], E_VNx4QImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8588; /* aarch64_sve_revvnx4qi */

    case E_VNx2QImode:
      if (!register_operand (operands[0], E_VNx2QImode)
          || GET_MODE (x3) != E_VNx2QImode
          || !register_operand (operands[1], E_VNx2QImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8589; /* aarch64_sve_revvnx2qi */

    case E_VNx8HImode:
      if (!register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x3) != E_VNx8HImode
          || !register_operand (operands[1], E_VNx8HImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8590; /* aarch64_sve_revvnx8hi */

    case E_VNx4HImode:
      if (!register_operand (operands[0], E_VNx4HImode)
          || GET_MODE (x3) != E_VNx4HImode
          || !register_operand (operands[1], E_VNx4HImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8591; /* aarch64_sve_revvnx4hi */

    case E_VNx2HImode:
      if (!register_operand (operands[0], E_VNx2HImode)
          || GET_MODE (x3) != E_VNx2HImode
          || !register_operand (operands[1], E_VNx2HImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8592; /* aarch64_sve_revvnx2hi */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8593; /* aarch64_sve_revvnx8hf */

    case E_VNx4HFmode:
      if (!register_operand (operands[0], E_VNx4HFmode)
          || GET_MODE (x3) != E_VNx4HFmode
          || !register_operand (operands[1], E_VNx4HFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8594; /* aarch64_sve_revvnx4hf */

    case E_VNx2HFmode:
      if (!register_operand (operands[0], E_VNx2HFmode)
          || GET_MODE (x3) != E_VNx2HFmode
          || !register_operand (operands[1], E_VNx2HFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8595; /* aarch64_sve_revvnx2hf */

    case E_VNx8BFmode:
      if (!register_operand (operands[0], E_VNx8BFmode)
          || GET_MODE (x3) != E_VNx8BFmode
          || !register_operand (operands[1], E_VNx8BFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8596; /* aarch64_sve_revvnx8bf */

    case E_VNx4BFmode:
      if (!register_operand (operands[0], E_VNx4BFmode)
          || GET_MODE (x3) != E_VNx4BFmode
          || !register_operand (operands[1], E_VNx4BFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8597; /* aarch64_sve_revvnx4bf */

    case E_VNx2BFmode:
      if (!register_operand (operands[0], E_VNx2BFmode)
          || GET_MODE (x3) != E_VNx2BFmode
          || !register_operand (operands[1], E_VNx2BFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8598; /* aarch64_sve_revvnx2bf */

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x3) != E_VNx4SImode
          || !register_operand (operands[1], E_VNx4SImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8599; /* aarch64_sve_revvnx4si */

    case E_VNx2SImode:
      if (!register_operand (operands[0], E_VNx2SImode)
          || GET_MODE (x3) != E_VNx2SImode
          || !register_operand (operands[1], E_VNx2SImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8600; /* aarch64_sve_revvnx2si */

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x3) != E_VNx4SFmode
          || !register_operand (operands[1], E_VNx4SFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8601; /* aarch64_sve_revvnx4sf */

    case E_VNx2SFmode:
      if (!register_operand (operands[0], E_VNx2SFmode)
          || GET_MODE (x3) != E_VNx2SFmode
          || !register_operand (operands[1], E_VNx2SFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8602; /* aarch64_sve_revvnx2sf */

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x3) != E_VNx2DImode
          || !register_operand (operands[1], E_VNx2DImode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8603; /* aarch64_sve_revvnx2di */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x3) != E_VNx2DFmode
          || !register_operand (operands[1], E_VNx2DFmode)
          || !
#line 8729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8604; /* aarch64_sve_revvnx2df */

    case E_VNx16BImode:
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x3) != E_VNx16BImode
          || !register_operand (operands[1], E_VNx16BImode)
          || !
#line 8816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8794; /* aarch64_sve_revvnx16bi */

    case E_VNx8BImode:
      if (!register_operand (operands[0], E_VNx8BImode)
          || GET_MODE (x3) != E_VNx8BImode
          || !register_operand (operands[1], E_VNx8BImode)
          || !
#line 8816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8795; /* aarch64_sve_revvnx8bi */

    case E_VNx4BImode:
      if (!register_operand (operands[0], E_VNx4BImode)
          || GET_MODE (x3) != E_VNx4BImode
          || !register_operand (operands[1], E_VNx4BImode)
          || !
#line 8816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8796; /* aarch64_sve_revvnx4bi */

    case E_VNx2BImode:
      if (!register_operand (operands[0], E_VNx2BImode)
          || GET_MODE (x3) != E_VNx2BImode
          || !register_operand (operands[1], E_VNx2BImode)
          || !
#line 8816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8797; /* aarch64_sve_revvnx2bi */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V4x16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x16QImode)
          || GET_MODE (x3) != E_V4x16QImode
          || !register_operand (operands[1], E_V4x16QImode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3687; /* aarch64_simd_st4v16qi */

    case E_V4x8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8HImode)
          || GET_MODE (x3) != E_V4x8HImode
          || !register_operand (operands[1], E_V4x8HImode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3688; /* aarch64_simd_st4v8hi */

    case E_V4x4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4SImode)
          || GET_MODE (x3) != E_V4x4SImode
          || !register_operand (operands[1], E_V4x4SImode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3689; /* aarch64_simd_st4v4si */

    case E_V4x2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2DImode)
          || GET_MODE (x3) != E_V4x2DImode
          || !register_operand (operands[1], E_V4x2DImode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3690; /* aarch64_simd_st4v2di */

    case E_V4x8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8HFmode)
          || GET_MODE (x3) != E_V4x8HFmode
          || !register_operand (operands[1], E_V4x8HFmode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3691; /* aarch64_simd_st4v8hf */

    case E_V4x4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4SFmode)
          || GET_MODE (x3) != E_V4x4SFmode
          || !register_operand (operands[1], E_V4x4SFmode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3692; /* aarch64_simd_st4v4sf */

    case E_V4x2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2DFmode)
          || GET_MODE (x3) != E_V4x2DFmode
          || !register_operand (operands[1], E_V4x2DFmode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3693; /* aarch64_simd_st4v2df */

    case E_V4x8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8BFmode)
          || GET_MODE (x3) != E_V4x8BFmode
          || !register_operand (operands[1], E_V4x8BFmode)
          || !
#line 6997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3694; /* aarch64_simd_st4v8bf */

    case E_V4x8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x8QImode)
          || GET_MODE (x3) != E_V4x8QImode
          || !register_operand (operands[1], E_V4x8QImode)
          || !
#line 7856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4169; /* aarch64_st4v8qi_dreg */

    case E_V4x4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4HImode)
          || GET_MODE (x3) != E_V4x4HImode
          || !register_operand (operands[1], E_V4x4HImode)
          || !
#line 7856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4170; /* aarch64_st4v4hi_dreg */

    case E_V4x2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2SImode)
          || GET_MODE (x3) != E_V4x2SImode
          || !register_operand (operands[1], E_V4x2SImode)
          || !
#line 7856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4171; /* aarch64_st4v2si_dreg */

    case E_V4x4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4HFmode)
          || GET_MODE (x3) != E_V4x4HFmode
          || !register_operand (operands[1], E_V4x4HFmode)
          || !
#line 7856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4172; /* aarch64_st4v4hf_dreg */

    case E_V4x2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x2SFmode)
          || GET_MODE (x3) != E_V4x2SFmode
          || !register_operand (operands[1], E_V4x2SFmode)
          || !
#line 7856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4173; /* aarch64_st4v2sf_dreg */

    case E_V4x4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x4BFmode)
          || GET_MODE (x3) != E_V4x4BFmode
          || !register_operand (operands[1], E_V4x4BFmode)
          || !
#line 7856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4174; /* aarch64_st4v4bf_dreg */

    case E_V4x1DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x1DImode)
          || GET_MODE (x3) != E_V4x1DImode
          || !register_operand (operands[1], E_V4x1DImode)
          || !
#line 7866 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4175; /* aarch64_st4di_dreg */

    case E_V4x1DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V4x1DFmode)
          || GET_MODE (x3) != E_V4x1DFmode
          || !register_operand (operands[1], E_V4x1DFmode)
          || !
#line 7866 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4176; /* aarch64_st4df_dreg */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V3x16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x16QImode)
          || GET_MODE (x3) != E_V3x16QImode
          || !register_operand (operands[1], E_V3x16QImode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3623; /* aarch64_simd_st3v16qi */

    case E_V3x8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8HImode)
          || GET_MODE (x3) != E_V3x8HImode
          || !register_operand (operands[1], E_V3x8HImode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3624; /* aarch64_simd_st3v8hi */

    case E_V3x4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4SImode)
          || GET_MODE (x3) != E_V3x4SImode
          || !register_operand (operands[1], E_V3x4SImode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3625; /* aarch64_simd_st3v4si */

    case E_V3x2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2DImode)
          || GET_MODE (x3) != E_V3x2DImode
          || !register_operand (operands[1], E_V3x2DImode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3626; /* aarch64_simd_st3v2di */

    case E_V3x8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8HFmode)
          || GET_MODE (x3) != E_V3x8HFmode
          || !register_operand (operands[1], E_V3x8HFmode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3627; /* aarch64_simd_st3v8hf */

    case E_V3x4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4SFmode)
          || GET_MODE (x3) != E_V3x4SFmode
          || !register_operand (operands[1], E_V3x4SFmode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3628; /* aarch64_simd_st3v4sf */

    case E_V3x2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2DFmode)
          || GET_MODE (x3) != E_V3x2DFmode
          || !register_operand (operands[1], E_V3x2DFmode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3629; /* aarch64_simd_st3v2df */

    case E_V3x8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8BFmode)
          || GET_MODE (x3) != E_V3x8BFmode
          || !register_operand (operands[1], E_V3x8BFmode)
          || !
#line 6896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3630; /* aarch64_simd_st3v8bf */

    case E_V3x8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x8QImode)
          || GET_MODE (x3) != E_V3x8QImode
          || !register_operand (operands[1], E_V3x8QImode)
          || !
#line 7836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4161; /* aarch64_st3v8qi_dreg */

    case E_V3x4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4HImode)
          || GET_MODE (x3) != E_V3x4HImode
          || !register_operand (operands[1], E_V3x4HImode)
          || !
#line 7836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4162; /* aarch64_st3v4hi_dreg */

    case E_V3x2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2SImode)
          || GET_MODE (x3) != E_V3x2SImode
          || !register_operand (operands[1], E_V3x2SImode)
          || !
#line 7836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4163; /* aarch64_st3v2si_dreg */

    case E_V3x4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4HFmode)
          || GET_MODE (x3) != E_V3x4HFmode
          || !register_operand (operands[1], E_V3x4HFmode)
          || !
#line 7836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4164; /* aarch64_st3v4hf_dreg */

    case E_V3x2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x2SFmode)
          || GET_MODE (x3) != E_V3x2SFmode
          || !register_operand (operands[1], E_V3x2SFmode)
          || !
#line 7836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4165; /* aarch64_st3v2sf_dreg */

    case E_V3x4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x4BFmode)
          || GET_MODE (x3) != E_V3x4BFmode
          || !register_operand (operands[1], E_V3x4BFmode)
          || !
#line 7836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4166; /* aarch64_st3v4bf_dreg */

    case E_V3x1DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x1DImode)
          || GET_MODE (x3) != E_V3x1DImode
          || !register_operand (operands[1], E_V3x1DImode)
          || !
#line 7846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4167; /* aarch64_st3di_dreg */

    case E_V3x1DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V3x1DFmode)
          || GET_MODE (x3) != E_V3x1DFmode
          || !register_operand (operands[1], E_V3x1DFmode)
          || !
#line 7846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4168; /* aarch64_st3df_dreg */

    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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_V2x16QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x16QImode)
          || GET_MODE (x3) != E_V2x16QImode
          || !register_operand (operands[1], E_V2x16QImode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3559; /* aarch64_simd_st2v16qi */

    case E_V2x8HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8HImode)
          || GET_MODE (x3) != E_V2x8HImode
          || !register_operand (operands[1], E_V2x8HImode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3560; /* aarch64_simd_st2v8hi */

    case E_V2x4SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4SImode)
          || GET_MODE (x3) != E_V2x4SImode
          || !register_operand (operands[1], E_V2x4SImode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3561; /* aarch64_simd_st2v4si */

    case E_V2x2DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2DImode)
          || GET_MODE (x3) != E_V2x2DImode
          || !register_operand (operands[1], E_V2x2DImode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3562; /* aarch64_simd_st2v2di */

    case E_V2x8HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8HFmode)
          || GET_MODE (x3) != E_V2x8HFmode
          || !register_operand (operands[1], E_V2x8HFmode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3563; /* aarch64_simd_st2v8hf */

    case E_V2x4SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4SFmode)
          || GET_MODE (x3) != E_V2x4SFmode
          || !register_operand (operands[1], E_V2x4SFmode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3564; /* aarch64_simd_st2v4sf */

    case E_V2x2DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2DFmode)
          || GET_MODE (x3) != E_V2x2DFmode
          || !register_operand (operands[1], E_V2x2DFmode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3565; /* aarch64_simd_st2v2df */

    case E_V2x8BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8BFmode)
          || GET_MODE (x3) != E_V2x8BFmode
          || !register_operand (operands[1], E_V2x8BFmode)
          || !
#line 6797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3566; /* aarch64_simd_st2v8bf */

    case E_V2x8QImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x8QImode)
          || GET_MODE (x3) != E_V2x8QImode
          || !register_operand (operands[1], E_V2x8QImode)
          || !
#line 7816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4153; /* aarch64_st2v8qi_dreg */

    case E_V2x4HImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4HImode)
          || GET_MODE (x3) != E_V2x4HImode
          || !register_operand (operands[1], E_V2x4HImode)
          || !
#line 7816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4154; /* aarch64_st2v4hi_dreg */

    case E_V2x2SImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2SImode)
          || GET_MODE (x3) != E_V2x2SImode
          || !register_operand (operands[1], E_V2x2SImode)
          || !
#line 7816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4155; /* aarch64_st2v2si_dreg */

    case E_V2x4HFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4HFmode)
          || GET_MODE (x3) != E_V2x4HFmode
          || !register_operand (operands[1], E_V2x4HFmode)
          || !
#line 7816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4156; /* aarch64_st2v4hf_dreg */

    case E_V2x2SFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x2SFmode)
          || GET_MODE (x3) != E_V2x2SFmode
          || !register_operand (operands[1], E_V2x2SFmode)
          || !
#line 7816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4157; /* aarch64_st2v2sf_dreg */

    case E_V2x4BFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x4BFmode)
          || GET_MODE (x3) != E_V2x4BFmode
          || !register_operand (operands[1], E_V2x4BFmode)
          || !
#line 7816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4158; /* aarch64_st2v4bf_dreg */

    case E_V2x1DImode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x1DImode)
          || GET_MODE (x3) != E_V2x1DImode
          || !register_operand (operands[1], E_V2x1DImode)
          || !
#line 7826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4159; /* aarch64_st2di_dreg */

    case E_V2x1DFmode:
      if (!aarch64_simd_struct_operand (operands[0], E_V2x1DFmode)
          || GET_MODE (x3) != E_V2x1DFmode
          || !register_operand (operands[1], E_V2x1DFmode)
          || !
#line 7826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4160; /* aarch64_st2df_dreg */

    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, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !(
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1565; /* aarch64_rsqrtev4hf */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || GET_MODE (x3) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !(
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1566; /* aarch64_rsqrtev8hf */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1567; /* aarch64_rsqrtev2sf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1568; /* aarch64_rsqrtev4sf */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || GET_MODE (x3) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1569; /* aarch64_rsqrtev2df */

    case E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode)
          || !(
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1570; /* aarch64_rsqrtehf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1571; /* aarch64_rsqrtesf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1572; /* aarch64_rsqrtedf */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1581; /* aarch64_ursqrtev2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1582; /* aarch64_ursqrtev4si */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HFmode)
          || !
#line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5588; /* aarch64_sve_frsqrtevnx8hf */

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x3) != E_VNx4SFmode
          || !register_operand (operands[1], E_VNx4SFmode)
          || !
#line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5590; /* aarch64_sve_frsqrtevnx4sf */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x3) != E_VNx2DFmode
          || !register_operand (operands[1], E_VNx2DFmode)
          || !
#line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5592; /* aarch64_sve_frsqrtevnx2df */

    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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!aarch64_simd_struct_operand (operands[1], E_BLKmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V4x8QImode:
      if (!register_operand (operands[0], E_V4x8QImode)
          || GET_MODE (x3) != E_V4x8QImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3655; /* aarch64_simd_ld4rv8qi */

    case E_V4x4HImode:
      if (!register_operand (operands[0], E_V4x4HImode)
          || GET_MODE (x3) != E_V4x4HImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3656; /* aarch64_simd_ld4rv4hi */

    case E_V4x2SImode:
      if (!register_operand (operands[0], E_V4x2SImode)
          || GET_MODE (x3) != E_V4x2SImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3657; /* aarch64_simd_ld4rv2si */

    case E_V4x1DImode:
      if (!register_operand (operands[0], E_V4x1DImode)
          || GET_MODE (x3) != E_V4x1DImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3658; /* aarch64_simd_ld4rdi */

    case E_V4x4HFmode:
      if (!register_operand (operands[0], E_V4x4HFmode)
          || GET_MODE (x3) != E_V4x4HFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3659; /* aarch64_simd_ld4rv4hf */

    case E_V4x2SFmode:
      if (!register_operand (operands[0], E_V4x2SFmode)
          || GET_MODE (x3) != E_V4x2SFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3660; /* aarch64_simd_ld4rv2sf */

    case E_V4x1DFmode:
      if (!register_operand (operands[0], E_V4x1DFmode)
          || GET_MODE (x3) != E_V4x1DFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3661; /* aarch64_simd_ld4rdf */

    case E_V4x4BFmode:
      if (!register_operand (operands[0], E_V4x4BFmode)
          || GET_MODE (x3) != E_V4x4BFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3662; /* aarch64_simd_ld4rv4bf */

    case E_V4x16QImode:
      if (!register_operand (operands[0], E_V4x16QImode)
          || GET_MODE (x3) != E_V4x16QImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3663; /* aarch64_simd_ld4rv16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[0], E_V4x8HImode)
          || GET_MODE (x3) != E_V4x8HImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3664; /* aarch64_simd_ld4rv8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[0], E_V4x4SImode)
          || GET_MODE (x3) != E_V4x4SImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3665; /* aarch64_simd_ld4rv4si */

    case E_V4x2DImode:
      if (!register_operand (operands[0], E_V4x2DImode)
          || GET_MODE (x3) != E_V4x2DImode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3666; /* aarch64_simd_ld4rv2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[0], E_V4x8HFmode)
          || GET_MODE (x3) != E_V4x8HFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3667; /* aarch64_simd_ld4rv8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[0], E_V4x4SFmode)
          || GET_MODE (x3) != E_V4x4SFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3668; /* aarch64_simd_ld4rv4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[0], E_V4x2DFmode)
          || GET_MODE (x3) != E_V4x2DFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3669; /* aarch64_simd_ld4rv2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[0], E_V4x8BFmode)
          || GET_MODE (x3) != E_V4x8BFmode
          || !
#line 6951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3670; /* aarch64_simd_ld4rv8bf */

    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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!aarch64_simd_struct_operand (operands[1], E_BLKmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V3x8QImode:
      if (!register_operand (operands[0], E_V3x8QImode)
          || GET_MODE (x3) != E_V3x8QImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3591; /* aarch64_simd_ld3rv8qi */

    case E_V3x4HImode:
      if (!register_operand (operands[0], E_V3x4HImode)
          || GET_MODE (x3) != E_V3x4HImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3592; /* aarch64_simd_ld3rv4hi */

    case E_V3x2SImode:
      if (!register_operand (operands[0], E_V3x2SImode)
          || GET_MODE (x3) != E_V3x2SImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3593; /* aarch64_simd_ld3rv2si */

    case E_V3x1DImode:
      if (!register_operand (operands[0], E_V3x1DImode)
          || GET_MODE (x3) != E_V3x1DImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3594; /* aarch64_simd_ld3rdi */

    case E_V3x4HFmode:
      if (!register_operand (operands[0], E_V3x4HFmode)
          || GET_MODE (x3) != E_V3x4HFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3595; /* aarch64_simd_ld3rv4hf */

    case E_V3x2SFmode:
      if (!register_operand (operands[0], E_V3x2SFmode)
          || GET_MODE (x3) != E_V3x2SFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3596; /* aarch64_simd_ld3rv2sf */

    case E_V3x1DFmode:
      if (!register_operand (operands[0], E_V3x1DFmode)
          || GET_MODE (x3) != E_V3x1DFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3597; /* aarch64_simd_ld3rdf */

    case E_V3x4BFmode:
      if (!register_operand (operands[0], E_V3x4BFmode)
          || GET_MODE (x3) != E_V3x4BFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3598; /* aarch64_simd_ld3rv4bf */

    case E_V3x16QImode:
      if (!register_operand (operands[0], E_V3x16QImode)
          || GET_MODE (x3) != E_V3x16QImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3599; /* aarch64_simd_ld3rv16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[0], E_V3x8HImode)
          || GET_MODE (x3) != E_V3x8HImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3600; /* aarch64_simd_ld3rv8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[0], E_V3x4SImode)
          || GET_MODE (x3) != E_V3x4SImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3601; /* aarch64_simd_ld3rv4si */

    case E_V3x2DImode:
      if (!register_operand (operands[0], E_V3x2DImode)
          || GET_MODE (x3) != E_V3x2DImode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3602; /* aarch64_simd_ld3rv2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[0], E_V3x8HFmode)
          || GET_MODE (x3) != E_V3x8HFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3603; /* aarch64_simd_ld3rv8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[0], E_V3x4SFmode)
          || GET_MODE (x3) != E_V3x4SFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3604; /* aarch64_simd_ld3rv4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[0], E_V3x2DFmode)
          || GET_MODE (x3) != E_V3x2DFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3605; /* aarch64_simd_ld3rv2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[0], E_V3x8BFmode)
          || GET_MODE (x3) != E_V3x8BFmode
          || !
#line 6851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3606; /* aarch64_simd_ld3rv8bf */

    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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!aarch64_simd_struct_operand (operands[1], E_BLKmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode)
          || GET_MODE (x3) != E_V2x8QImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3527; /* aarch64_simd_ld2rv8qi */

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode)
          || GET_MODE (x3) != E_V2x4HImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3528; /* aarch64_simd_ld2rv4hi */

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode)
          || GET_MODE (x3) != E_V2x2SImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3529; /* aarch64_simd_ld2rv2si */

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode)
          || GET_MODE (x3) != E_V2x1DImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3530; /* aarch64_simd_ld2rdi */

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode)
          || GET_MODE (x3) != E_V2x4HFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3531; /* aarch64_simd_ld2rv4hf */

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode)
          || GET_MODE (x3) != E_V2x2SFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3532; /* aarch64_simd_ld2rv2sf */

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode)
          || GET_MODE (x3) != E_V2x1DFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3533; /* aarch64_simd_ld2rdf */

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode)
          || GET_MODE (x3) != E_V2x4BFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3534; /* aarch64_simd_ld2rv4bf */

    case E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode)
          || GET_MODE (x3) != E_V2x16QImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3535; /* aarch64_simd_ld2rv16qi */

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode)
          || GET_MODE (x3) != E_V2x8HImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3536; /* aarch64_simd_ld2rv8hi */

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode)
          || GET_MODE (x3) != E_V2x4SImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3537; /* aarch64_simd_ld2rv4si */

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode)
          || GET_MODE (x3) != E_V2x2DImode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3538; /* aarch64_simd_ld2rv2di */

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode)
          || GET_MODE (x3) != E_V2x8HFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3539; /* aarch64_simd_ld2rv8hf */

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode)
          || GET_MODE (x3) != E_V2x4SFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3540; /* aarch64_simd_ld2rv4sf */

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode)
          || GET_MODE (x3) != E_V2x2DFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3541; /* aarch64_simd_ld2rv2df */

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode)
          || GET_MODE (x3) != E_V2x8BFmode
          || !
#line 6751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3542; /* aarch64_simd_ld2rv8bf */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !(
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4207; /* aarch64_frecpev4hf */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || GET_MODE (x3) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !(
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4208; /* aarch64_frecpev8hf */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4209; /* aarch64_frecpev2sf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4210; /* aarch64_frecpev4sf */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || GET_MODE (x3) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4211; /* aarch64_frecpev2df */

    case E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode)
          || !(
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4212; /* aarch64_frecpehf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4213; /* aarch64_frecpesf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 7967 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4214; /* aarch64_frecpedf */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HFmode)
          || !
#line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5587; /* aarch64_sve_frecpevnx8hf */

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x3) != E_VNx4SFmode
          || !register_operand (operands[1], E_VNx4SFmode)
          || !
#line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5589; /* aarch64_sve_frecpevnx4sf */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x3) != E_VNx2DFmode
          || !register_operand (operands[1], E_VNx2DFmode)
          || !
#line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5591; /* aarch64_sve_frecpevnx2df */

    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, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V4x8QImode:
      if (!register_operand (operands[0], E_V4x8QImode)
          || GET_MODE (x3) != E_V4x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8QImode)
          || !
#line 7564 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3988; /* aarch64_ld4v8qi_dreg */

    case E_V4x4HImode:
      if (!register_operand (operands[0], E_V4x4HImode)
          || GET_MODE (x3) != E_V4x4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4HImode)
          || !
#line 7564 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3989; /* aarch64_ld4v4hi_dreg */

    case E_V4x2SImode:
      if (!register_operand (operands[0], E_V4x2SImode)
          || GET_MODE (x3) != E_V4x2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2SImode)
          || !
#line 7564 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3990; /* aarch64_ld4v2si_dreg */

    case E_V4x4HFmode:
      if (!register_operand (operands[0], E_V4x4HFmode)
          || GET_MODE (x3) != E_V4x4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4HFmode)
          || !
#line 7564 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3991; /* aarch64_ld4v4hf_dreg */

    case E_V4x2SFmode:
      if (!register_operand (operands[0], E_V4x2SFmode)
          || GET_MODE (x3) != E_V4x2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2SFmode)
          || !
#line 7564 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3992; /* aarch64_ld4v2sf_dreg */

    case E_V4x4BFmode:
      if (!register_operand (operands[0], E_V4x4BFmode)
          || GET_MODE (x3) != E_V4x4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4BFmode)
          || !
#line 7564 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3993; /* aarch64_ld4v4bf_dreg */

    case E_V4x1DImode:
      if (!register_operand (operands[0], E_V4x1DImode)
          || GET_MODE (x3) != E_V4x1DImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x1DImode)
          || !
#line 7574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3994; /* aarch64_ld4di_dreg */

    case E_V4x1DFmode:
      if (!register_operand (operands[0], E_V4x1DFmode)
          || GET_MODE (x3) != E_V4x1DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x1DFmode)
          || !
#line 7574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3995; /* aarch64_ld4df_dreg */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V3x8QImode:
      if (!register_operand (operands[0], E_V3x8QImode)
          || GET_MODE (x3) != E_V3x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8QImode)
          || !
#line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3980; /* aarch64_ld3v8qi_dreg */

    case E_V3x4HImode:
      if (!register_operand (operands[0], E_V3x4HImode)
          || GET_MODE (x3) != E_V3x4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4HImode)
          || !
#line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3981; /* aarch64_ld3v4hi_dreg */

    case E_V3x2SImode:
      if (!register_operand (operands[0], E_V3x2SImode)
          || GET_MODE (x3) != E_V3x2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2SImode)
          || !
#line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3982; /* aarch64_ld3v2si_dreg */

    case E_V3x4HFmode:
      if (!register_operand (operands[0], E_V3x4HFmode)
          || GET_MODE (x3) != E_V3x4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4HFmode)
          || !
#line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3983; /* aarch64_ld3v4hf_dreg */

    case E_V3x2SFmode:
      if (!register_operand (operands[0], E_V3x2SFmode)
          || GET_MODE (x3) != E_V3x2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2SFmode)
          || !
#line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3984; /* aarch64_ld3v2sf_dreg */

    case E_V3x4BFmode:
      if (!register_operand (operands[0], E_V3x4BFmode)
          || GET_MODE (x3) != E_V3x4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4BFmode)
          || !
#line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3985; /* aarch64_ld3v4bf_dreg */

    case E_V3x1DImode:
      if (!register_operand (operands[0], E_V3x1DImode)
          || GET_MODE (x3) != E_V3x1DImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x1DImode)
          || !
#line 7554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3986; /* aarch64_ld3di_dreg */

    case E_V3x1DFmode:
      if (!register_operand (operands[0], E_V3x1DFmode)
          || GET_MODE (x3) != E_V3x1DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x1DFmode)
          || !
#line 7554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3987; /* aarch64_ld3df_dreg */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode)
          || GET_MODE (x3) != E_V2x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8QImode)
          || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3972; /* aarch64_ld2v8qi_dreg */

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode)
          || GET_MODE (x3) != E_V2x4HImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4HImode)
          || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3973; /* aarch64_ld2v4hi_dreg */

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode)
          || GET_MODE (x3) != E_V2x2SImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2SImode)
          || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3974; /* aarch64_ld2v2si_dreg */

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode)
          || GET_MODE (x3) != E_V2x4HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4HFmode)
          || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3975; /* aarch64_ld2v4hf_dreg */

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode)
          || GET_MODE (x3) != E_V2x2SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2SFmode)
          || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3976; /* aarch64_ld2v2sf_dreg */

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode)
          || GET_MODE (x3) != E_V2x4BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4BFmode)
          || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3977; /* aarch64_ld2v4bf_dreg */

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode)
          || GET_MODE (x3) != E_V2x1DImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x1DImode)
          || !
#line 7534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3978; /* aarch64_ld2di_dreg */

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode)
          || GET_MODE (x3) != E_V2x1DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x1DFmode)
          || !
#line 7534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3979; /* aarch64_ld2df_dreg */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_V4x16QImode:
      if (!register_operand (operands[0], E_V4x16QImode)
          || GET_MODE (x3) != E_V4x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x16QImode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3647; /* aarch64_simd_ld4v16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[0], E_V4x8HImode)
          || GET_MODE (x3) != E_V4x8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8HImode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3648; /* aarch64_simd_ld4v8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[0], E_V4x4SImode)
          || GET_MODE (x3) != E_V4x4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4SImode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3649; /* aarch64_simd_ld4v4si */

    case E_V4x2DImode:
      if (!register_operand (operands[0], E_V4x2DImode)
          || GET_MODE (x3) != E_V4x2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2DImode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3650; /* aarch64_simd_ld4v2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[0], E_V4x8HFmode)
          || GET_MODE (x3) != E_V4x8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8HFmode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3651; /* aarch64_simd_ld4v8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[0], E_V4x4SFmode)
          || GET_MODE (x3) != E_V4x4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x4SFmode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3652; /* aarch64_simd_ld4v4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[0], E_V4x2DFmode)
          || GET_MODE (x3) != E_V4x2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x2DFmode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3653; /* aarch64_simd_ld4v2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[0], E_V4x8BFmode)
          || GET_MODE (x3) != E_V4x8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8BFmode)
          || !
#line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3654; /* aarch64_simd_ld4v8bf */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V3x16QImode:
      if (!register_operand (operands[0], E_V3x16QImode)
          || GET_MODE (x3) != E_V3x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x16QImode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3583; /* aarch64_simd_ld3v16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[0], E_V3x8HImode)
          || GET_MODE (x3) != E_V3x8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8HImode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3584; /* aarch64_simd_ld3v8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[0], E_V3x4SImode)
          || GET_MODE (x3) != E_V3x4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4SImode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3585; /* aarch64_simd_ld3v4si */

    case E_V3x2DImode:
      if (!register_operand (operands[0], E_V3x2DImode)
          || GET_MODE (x3) != E_V3x2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2DImode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3586; /* aarch64_simd_ld3v2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[0], E_V3x8HFmode)
          || GET_MODE (x3) != E_V3x8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8HFmode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3587; /* aarch64_simd_ld3v8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[0], E_V3x4SFmode)
          || GET_MODE (x3) != E_V3x4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x4SFmode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3588; /* aarch64_simd_ld3v4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[0], E_V3x2DFmode)
          || GET_MODE (x3) != E_V3x2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x2DFmode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3589; /* aarch64_simd_ld3v2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[0], E_V3x8BFmode)
          || GET_MODE (x3) != E_V3x8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8BFmode)
          || !
#line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3590; /* aarch64_simd_ld3v8bf */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode)
          || GET_MODE (x3) != E_V2x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x16QImode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3519; /* aarch64_simd_ld2v16qi */

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode)
          || GET_MODE (x3) != E_V2x8HImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8HImode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3520; /* aarch64_simd_ld2v8hi */

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode)
          || GET_MODE (x3) != E_V2x4SImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4SImode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3521; /* aarch64_simd_ld2v4si */

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode)
          || GET_MODE (x3) != E_V2x2DImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2DImode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3522; /* aarch64_simd_ld2v2di */

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode)
          || GET_MODE (x3) != E_V2x8HFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8HFmode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3523; /* aarch64_simd_ld2v8hf */

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode)
          || GET_MODE (x3) != E_V2x4SFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x4SFmode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3524; /* aarch64_simd_ld2v4sf */

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode)
          || GET_MODE (x3) != E_V2x2DFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x2DFmode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3525; /* aarch64_simd_ld2v2df */

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode)
          || GET_MODE (x3) != E_V2x8BFmode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8BFmode)
          || !
#line 6741 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3526; /* aarch64_simd_ld2v8bf */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1598; /* aarch64_absv8qi */

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x3) != E_V16QImode
          || !register_operand (operands[1], E_V16QImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1599; /* aarch64_absv16qi */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x3) != E_V4HImode
          || !register_operand (operands[1], E_V4HImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1600; /* aarch64_absv4hi */

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x3) != E_V8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1601; /* aarch64_absv8hi */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1602; /* aarch64_absv2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1603; /* aarch64_absv4si */

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || GET_MODE (x3) != E_V2DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1604; /* aarch64_absv2di */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !
#line 827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1605; /* aarch64_absdi */

    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 (pattern140 (x1))
    {
    case 0:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4533; /* *aarch64_sve_reinterpretvnx16qi */

    case 1:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4534; /* *aarch64_sve_reinterpretvnx8qi */

    case 2:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4535; /* *aarch64_sve_reinterpretvnx4qi */

    case 3:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4536; /* *aarch64_sve_reinterpretvnx2qi */

    case 4:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4537; /* *aarch64_sve_reinterpretvnx8hi */

    case 5:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4538; /* *aarch64_sve_reinterpretvnx4hi */

    case 6:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4539; /* *aarch64_sve_reinterpretvnx2hi */

    case 7:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4540; /* *aarch64_sve_reinterpretvnx8hf */

    case 8:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4541; /* *aarch64_sve_reinterpretvnx4hf */

    case 9:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4542; /* *aarch64_sve_reinterpretvnx2hf */

    case 10:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4543; /* *aarch64_sve_reinterpretvnx8bf */

    case 11:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4544; /* *aarch64_sve_reinterpretvnx4bf */

    case 12:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4545; /* *aarch64_sve_reinterpretvnx2bf */

    case 13:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4546; /* *aarch64_sve_reinterpretvnx4si */

    case 14:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4547; /* *aarch64_sve_reinterpretvnx2si */

    case 15:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4548; /* *aarch64_sve_reinterpretvnx4sf */

    case 16:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4549; /* *aarch64_sve_reinterpretvnx2sf */

    case 17:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4550; /* *aarch64_sve_reinterpretvnx2di */

    case 18:
      if (!
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4551; /* *aarch64_sve_reinterpretvnx2df */

    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];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  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 E_V4BFmode:
      if (!register_operand (operands[0], E_V4BFmode)
          || GET_MODE (x3) != E_V4BFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 9078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4320; /* aarch64_bfcvtnv4bf */

    case E_V8BFmode:
      if (!register_operand (operands[0], E_V8BFmode)
          || GET_MODE (x3) != E_V8BFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 9078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4321; /* aarch64_bfcvtn_qv8bf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V4BFmode:
          if (!register_operand (operands[1], E_V4BFmode)
              || !
#line 9107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
            return -1;
          return 4324; /* aarch64_vbfcvtv4bf */

        case E_V8BFmode:
          if (!register_operand (operands[1], E_V8BFmode)
              || !
#line 9107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
            return -1;
          return 4325; /* aarch64_vbfcvtv8bf */

        default:
          return -1;
        }

    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 (pattern135 (x1))
    {
    case 0:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4112; /* aarch64_rev32v8qi */

    case 1:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4115; /* aarch64_rev32v16qi */

    case 2:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4118; /* aarch64_rev32v4hi */

    case 3:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4121; /* aarch64_rev32v8hi */

    case 4:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4124; /* aarch64_rev32v2si */

    case 5:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4127; /* aarch64_rev32v4si */

    case 6:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4130; /* aarch64_rev32v2di */

    case 7:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4133; /* aarch64_rev32v4hf */

    case 8:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4136; /* aarch64_rev32v8hf */

    case 9:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4139; /* aarch64_rev32v4bf */

    case 10:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4142; /* aarch64_rev32v8bf */

    case 11:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4145; /* aarch64_rev32v2sf */

    case 12:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4148; /* aarch64_rev32v4sf */

    case 13:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4151; /* aarch64_rev32v2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern135 (x1))
    {
    case 0:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4113; /* aarch64_rev16v8qi */

    case 1:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4116; /* aarch64_rev16v16qi */

    case 2:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4119; /* aarch64_rev16v4hi */

    case 3:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4122; /* aarch64_rev16v8hi */

    case 4:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4125; /* aarch64_rev16v2si */

    case 5:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4128; /* aarch64_rev16v4si */

    case 6:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4131; /* aarch64_rev16v2di */

    case 7:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4134; /* aarch64_rev16v4hf */

    case 8:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4137; /* aarch64_rev16v8hf */

    case 9:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4140; /* aarch64_rev16v4bf */

    case 10:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4143; /* aarch64_rev16v8bf */

    case 11:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4146; /* aarch64_rev16v2sf */

    case 12:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4149; /* aarch64_rev16v4sf */

    case 13:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4152; /* aarch64_rev16v2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern135 (x1))
    {
    case 0:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4111; /* aarch64_rev64v8qi */

    case 1:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4114; /* aarch64_rev64v16qi */

    case 2:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4117; /* aarch64_rev64v4hi */

    case 3:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4120; /* aarch64_rev64v8hi */

    case 4:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4123; /* aarch64_rev64v2si */

    case 5:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4126; /* aarch64_rev64v4si */

    case 6:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4129; /* aarch64_rev64v2di */

    case 7:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4132; /* aarch64_rev64v4hf */

    case 8:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4135; /* aarch64_rev64v8hf */

    case 9:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4138; /* aarch64_rev64v4bf */

    case 10:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4141; /* aarch64_rev64v8bf */

    case 11:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4144; /* aarch64_rev64v2sf */

    case 12:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4147; /* aarch64_rev64v4sf */

    case 13:
      if (!
#line 7806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4150; /* aarch64_rev64v2df */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 654; /* aarch64_rbitsi */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode))
        return -1;
      return 655; /* aarch64_rbitdi */

    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode)
          || !
#line 422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1453; /* aarch64_rbitv8qi */

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x3) != E_V16QImode
          || !register_operand (operands[1], E_V16QImode)
          || !
#line 422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1454; /* aarch64_rbitv16qi */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_QImode:
      switch (pattern128 (x3, E_QImode))
        {
        case 0:
          if (!
#line 3402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2369; /* reduc_plus_scal_v8qi */

        case 1:
          if (!
#line 3402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2370; /* reduc_plus_scal_v16qi */

        default:
          return -1;
        }

    case E_HImode:
      switch (pattern129 (x3, E_HImode))
        {
        case 0:
          if (!
#line 3402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2371; /* reduc_plus_scal_v4hi */

        case 1:
          if (!
#line 3402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2372; /* reduc_plus_scal_v8hi */

        default:
          return -1;
        }

    case E_SImode:
      switch (pattern130 (x3, E_SImode))
        {
        case 0:
          if (!
#line 3402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2373; /* reduc_plus_scal_v4si */

        case 1:
          if (!
#line 3411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2375; /* reduc_plus_scal_v2si */

        default:
          return -1;
        }

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 3402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2374; /* reduc_plus_scal_v2di */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HImode)
          || !
#line 3355 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5584; /* aarch64_sve_fexpavnx8hf */

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x3) != E_VNx4SFmode
          || !register_operand (operands[1], E_VNx4SImode)
          || !
#line 3355 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5585; /* aarch64_sve_fexpavnx4sf */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x3) != E_VNx2DFmode
          || !register_operand (operands[1], E_VNx2DImode)
          || !
#line 3355 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5586; /* aarch64_sve_fexpavnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_SImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], E_SImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      if (!register_operand (operands[1], E_SImode)
          || !
#line 8114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4234; /* aarch64_crypto_sha1hsi */

    case VEC_SELECT:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL
          || XVECLEN (x5, 0) != 1)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XEXP (x4, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_V4SImode))
        return -1;
      switch (XWINT (x6, 0))
        {
        case 0L:
          if (!
#line 8124 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2 && !BYTES_BIG_ENDIAN))
            return -1;
          return 4235; /* aarch64_crypto_sha1hv4si */

        case 3L:
          if (!
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2 && BYTES_BIG_ENDIAN))
            return -1;
          return 4236; /* aarch64_be_crypto_sha1hv4si */

        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;
  int res ATTRIBUTE_UNUSED;
  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 E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode)
          || !(
#line 7976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 4215; /* aarch64_frecpxhf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 7976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4216; /* aarch64_frecpxsf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 7976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4217; /* aarch64_frecpxdf */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_QImode:
      if (!register_operand (operands[0], E_QImode)
          || GET_MODE (x3) != E_QImode
          || !register_operand (operands[1], E_HImode)
          || !
#line 5091 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2851; /* aarch64_sqmovunhi */

    case E_HImode:
      if (!register_operand (operands[0], E_HImode)
          || GET_MODE (x3) != E_HImode
          || !register_operand (operands[1], E_SImode)
          || !
#line 5091 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2852; /* aarch64_sqmovunsi */

    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_DImode)
          || !
#line 5091 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2853; /* aarch64_sqmovundi */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_BFmode:
      if (!register_operand (operands[0], E_BFmode)
          || GET_MODE (x3) != E_BFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 9097 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_FP))
        return -1;
      return 4323; /* aarch64_bfcvtbf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_BFmode)
          || !
#line 9125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_FP))
        return -1;
      return 4327; /* aarch64_bfcvtsf */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 7996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4226; /* aarch64_urecpev2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 7996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4227; /* aarch64_urecpev4si */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 3219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2324; /* aarch64_float_trunc_rodd_df */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 3228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2325; /* aarch64_float_trunc_rodd_lo_v2sf */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 3431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2384; /* reduc_plus_scal_v2sf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 3431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2385; /* reduc_plus_scal_v2df */

    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;
  int res ATTRIBUTE_UNUSED;
  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 E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !aarch64_valid_symref (operands[1], E_SImode)
          || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      return 1030; /* ldr_got_tiny_si */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !aarch64_valid_symref (operands[1], E_DImode)
          || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      return 1031; /* ldr_got_tiny_di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 817; /* rinthf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 824; /* rintsf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 831; /* rintdf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2188; /* rintv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2195; /* rintv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2202; /* rintv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2209; /* rintv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2216; /* rintv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 818; /* roundhf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 825; /* roundsf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 832; /* rounddf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2189; /* roundv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2196; /* roundv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2203; /* roundv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2210; /* roundv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2217; /* roundv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 816; /* nearbyinthf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 823; /* nearbyintsf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 830; /* nearbyintdf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2187; /* nearbyintv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2194; /* nearbyintv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2201; /* nearbyintv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2208; /* nearbyintv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2215; /* nearbyintv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 815; /* roundevenhf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 822; /* roundevensf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 829; /* roundevendf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2186; /* roundevenv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2193; /* roundevenv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2200; /* roundevenv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2207; /* roundevenv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2214; /* roundevenv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 814; /* floorhf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 821; /* floorsf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 828; /* floordf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2185; /* floorv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2192; /* floorv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2199; /* floorv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2206; /* floorv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2213; /* floorv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 813; /* ceilhf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 820; /* ceilsf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 827; /* ceildf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2184; /* ceilv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2191; /* ceilv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2198; /* ceilv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2205; /* ceilv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2212; /* ceilv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern123 (x1))
    {
    case 0:
      if (!(
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 812; /* btrunchf2 */

    case 1:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 819; /* btruncsf2 */

    case 2:
      if (!
#line 6083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 826; /* btruncdf2 */

    case 3:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2183; /* btruncv4hf2 */

    case 4:
      if (!(
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2190; /* btruncv8hf2 */

    case 5:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2197; /* btruncv2sf2 */

    case 6:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2204; /* btruncv4sf2 */

    case 7:
      if (!
#line 3025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2211; /* btruncv2df2 */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern653 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5626; /* *cond_absvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5692; /* *cond_absvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5637; /* *cond_absvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5703; /* *cond_absvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5648; /* *cond_absvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5714; /* *cond_absvnx2df_any_relaxed */

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x6 = XVECEXP (x3, 0, 2);
      x7 = XVECEXP (x6, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x8 = XVECEXP (x6, 0, 0);
      operands[5] = x8;
      x9 = XVECEXP (x6, 0, 2);
      operands[2] = x9;
      x10 = XVECEXP (x6, 0, 3);
      operands[3] = x10;
      switch (pattern884 (x2))
        {
        case 0:
          if (!
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7181; /* *aarch64_cond_abdvnx8hf_2_relaxed */

        case 1:
          if (!
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7182; /* *aarch64_cond_abdvnx4sf_2_relaxed */

        case 2:
          if (!
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7183; /* *aarch64_cond_abdvnx2df_2_relaxed */

        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 4
      || XINT (x4, 1) != 373)
    return -1;
  x5 = XVECEXP (x4, 0, 1);
  operands[5] = x5;
  if (!aarch64_sve_gp_strictness (operands[5], E_SImode))
    return -1;
  x6 = XVECEXP (x4, 0, 2);
  operands[2] = x6;
  x7 = XVECEXP (x4, 0, 3);
  operands[3] = x7;
  x8 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x8, operands[1]))
    return -1;
  x9 = XVECEXP (x4, 0, 0);
  if (!rtx_equal_p (x9, operands[1]))
    return -1;
  switch (pattern884 (x2))
    {
    case 0:
      if (!
#line 5961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7184; /* *aarch64_cond_abdvnx8hf_2_strict */

    case 1:
      if (!
#line 5961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7185; /* *aarch64_cond_abdvnx4sf_2_strict */

    case 2:
      if (!
#line 5961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7186; /* *aarch64_cond_abdvnx2df_2_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (XWINT (x4, 0) == 0L)
    {
      x5 = XVECEXP (x3, 0, 2);
      x6 = XVECEXP (x5, 0, 1);
      if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
        {
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x5, 0, 0);
          operands[5] = x8;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern868 (x2, E_VNx8HFmode, E_VNx8BImode) == 0
                  && 
#line 5986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 7187; /* *aarch64_cond_abdvnx8hf_3_relaxed */
              break;

            case E_VNx4SFmode:
              if (pattern868 (x2, E_VNx4SFmode, E_VNx4BImode) == 0
                  && 
#line 5986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 7188; /* *aarch64_cond_abdvnx4sf_3_relaxed */
              break;

            case E_VNx2DFmode:
              if (pattern868 (x2, E_VNx2DFmode, E_VNx2BImode) == 0
                  && 
#line 5986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 7189; /* *aarch64_cond_abdvnx2df_3_relaxed */
              break;

            default:
              break;
            }
        }
    }
  operands[4] = x4;
  if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
    return -1;
  x5 = XVECEXP (x3, 0, 2);
  x6 = XVECEXP (x5, 0, 1);
  operands[5] = x6;
  if (!aarch64_sve_gp_strictness (operands[5], E_SImode))
    return -1;
  x7 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x7, operands[1]))
    return -1;
  x8 = XVECEXP (x5, 0, 0);
  if (!rtx_equal_p (x8, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (pattern868 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 6015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7190; /* *aarch64_cond_abdvnx8hf_3_strict */

    case E_VNx4SFmode:
      if (pattern868 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 6015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7191; /* *aarch64_cond_abdvnx4sf_3_strict */

    case E_VNx2DFmode:
      if (pattern868 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 6015 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7192; /* *aarch64_cond_abdvnx2df_3_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern543 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5564; /* *cond_cnotvnx16qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx16QImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5574; /* *cond_cnotvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5565; /* *cond_cnotvnx8qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8QImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5575; /* *cond_cnotvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5566; /* *cond_cnotvnx4qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4QImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5576; /* *cond_cnotvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5567; /* *cond_cnotvnx2qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2QImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5577; /* *cond_cnotvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5568; /* *cond_cnotvnx8hi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8HImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5578; /* *cond_cnotvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5569; /* *cond_cnotvnx4hi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4HImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5579; /* *cond_cnotvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5570; /* *cond_cnotvnx2hi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2HImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5580; /* *cond_cnotvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5571; /* *cond_cnotvnx4si_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4SImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5581; /* *cond_cnotvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5572; /* *cond_cnotvnx2si_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2SImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5582; /* *cond_cnotvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5573; /* *cond_cnotvnx2di_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2DImode)
          || !
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5583; /* *cond_cnotvnx2di_any */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  switch (XWINT (x4, 0))
    {
    case 0L:
      res = recog_220 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case 1L:
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (pattern580 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5659; /* *cond_absvnx8hf_2_strict */
          operands[3] = x6;
          if (aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              && 
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return 5725; /* *cond_absvnx8hf_any_strict */
          break;

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5670; /* *cond_absvnx4sf_2_strict */
          operands[3] = x6;
          if (aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              && 
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return 5736; /* *cond_absvnx4sf_any_strict */
          break;

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5681; /* *cond_absvnx2df_2_strict */
          operands[3] = x6;
          if (aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              && 
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return 5747; /* *cond_absvnx2df_any_strict */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  operands[4] = x4;
  if (aarch64_sve_gp_strictness (operands[4], E_SImode))
    {
      res = recog_221 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  x5 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x5) != UNSPEC
      || XVECLEN (x5, 0) != 4
      || XINT (x5, 1) != 373)
    return -1;
  x7 = XVECEXP (x5, 0, 2);
  operands[2] = x7;
  x8 = XVECEXP (x5, 0, 3);
  operands[3] = x8;
  x6 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x6, operands[3]))
    {
      res = recog_222 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[4] = x6;
  if (XWINT (x4, 0) == 0L)
    {
      x9 = XVECEXP (x5, 0, 1);
      if (x9 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
        {
          x10 = XVECEXP (x3, 0, 0);
          operands[5] = x10;
          x11 = XVECEXP (x5, 0, 0);
          operands[6] = x11;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern892 (x2, E_VNx8HFmode, E_VNx8BImode) == 0
                  && 
#line 6040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return 7193; /* *aarch64_cond_abdvnx8hf_any_relaxed */
              break;

            case E_VNx4SFmode:
              if (pattern892 (x2, E_VNx4SFmode, E_VNx4BImode) == 0
                  && 
#line 6040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return 7194; /* *aarch64_cond_abdvnx4sf_any_relaxed */
              break;

            case E_VNx2DFmode:
              if (pattern892 (x2, E_VNx2DFmode, E_VNx2BImode) == 0
                  && 
#line 6040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return 7195; /* *aarch64_cond_abdvnx2df_any_relaxed */
              break;

            default:
              break;
            }
        }
    }
  operands[5] = x4;
  if (!aarch64_sve_gp_strictness (operands[5], E_SImode))
    return -1;
  x9 = XVECEXP (x5, 0, 1);
  operands[6] = x9;
  if (!aarch64_sve_gp_strictness (operands[6], E_SImode))
    return -1;
  switch (pattern893 (x2))
    {
    case 0:
      if (!
#line 6087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7196; /* *aarch64_cond_abdvnx8hf_any_strict */

    case 1:
      if (!
#line 6087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7197; /* *aarch64_cond_abdvnx4sf_any_strict */

    case 2:
      if (!
#line 6087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7198; /* *aarch64_cond_abdvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5636; /* *cond_sqrtvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5702; /* *cond_sqrtvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5647; /* *cond_sqrtvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5713; /* *cond_sqrtvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5658; /* *cond_sqrtvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5724; /* *cond_sqrtvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5669; /* *cond_sqrtvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5735; /* *cond_sqrtvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5680; /* *cond_sqrtvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5746; /* *cond_sqrtvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5691; /* *cond_sqrtvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5757; /* *cond_sqrtvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5635; /* *cond_btruncvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5701; /* *cond_btruncvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5646; /* *cond_btruncvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5712; /* *cond_btruncvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5657; /* *cond_btruncvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5723; /* *cond_btruncvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5668; /* *cond_btruncvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5734; /* *cond_btruncvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5679; /* *cond_btruncvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5745; /* *cond_btruncvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5690; /* *cond_btruncvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5756; /* *cond_btruncvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5634; /* *cond_rintvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5700; /* *cond_rintvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5645; /* *cond_rintvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5711; /* *cond_rintvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5656; /* *cond_rintvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5722; /* *cond_rintvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5667; /* *cond_rintvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5733; /* *cond_rintvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5678; /* *cond_rintvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5744; /* *cond_rintvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5689; /* *cond_rintvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5755; /* *cond_rintvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5633; /* *cond_ceilvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5699; /* *cond_ceilvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5644; /* *cond_ceilvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5710; /* *cond_ceilvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5655; /* *cond_ceilvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5721; /* *cond_ceilvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5666; /* *cond_ceilvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5732; /* *cond_ceilvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5677; /* *cond_ceilvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5743; /* *cond_ceilvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5688; /* *cond_ceilvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5754; /* *cond_ceilvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5632; /* *cond_frintnvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5698; /* *cond_frintnvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5643; /* *cond_frintnvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5709; /* *cond_frintnvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5654; /* *cond_frintnvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5720; /* *cond_frintnvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5665; /* *cond_frintnvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5731; /* *cond_frintnvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5676; /* *cond_frintnvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5742; /* *cond_frintnvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5687; /* *cond_frintnvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5753; /* *cond_frintnvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5631; /* *cond_floorvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5697; /* *cond_floorvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5642; /* *cond_floorvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5708; /* *cond_floorvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5653; /* *cond_floorvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5719; /* *cond_floorvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5664; /* *cond_floorvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5730; /* *cond_floorvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5675; /* *cond_floorvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5741; /* *cond_floorvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5686; /* *cond_floorvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5752; /* *cond_floorvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5630; /* *cond_nearbyintvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5696; /* *cond_nearbyintvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5641; /* *cond_nearbyintvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5707; /* *cond_nearbyintvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5652; /* *cond_nearbyintvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5718; /* *cond_nearbyintvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5663; /* *cond_nearbyintvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5729; /* *cond_nearbyintvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5674; /* *cond_nearbyintvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5740; /* *cond_nearbyintvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5685; /* *cond_nearbyintvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5751; /* *cond_nearbyintvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5627; /* *cond_negvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5693; /* *cond_negvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5638; /* *cond_negvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5704; /* *cond_negvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5649; /* *cond_negvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5715; /* *cond_negvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5660; /* *cond_negvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5726; /* *cond_negvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5671; /* *cond_negvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5737; /* *cond_negvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5682; /* *cond_negvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5748; /* *cond_negvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern581 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5629; /* *cond_roundvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5695; /* *cond_roundvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5640; /* *cond_roundvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5706; /* *cond_roundvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5651; /* *cond_roundvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5717; /* *cond_roundvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5662; /* *cond_roundvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5728; /* *cond_roundvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5673; /* *cond_roundvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5739; /* *cond_roundvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5684; /* *cond_roundvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5750; /* *cond_roundvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9311; /* *cond_uqshlvnx2di_2 */
    }
  if (register_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9319; /* *cond_uqshlvnx2di_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9327; /* *cond_uqshlvnx2di_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9309; /* *cond_uqshlvnx4si_2 */
    }
  if (register_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9317; /* *cond_uqshlvnx4si_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9325; /* *cond_uqshlvnx4si_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9307; /* *cond_uqshlvnx8hi_2 */
    }
  if (register_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9315; /* *cond_uqshlvnx8hi_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9323; /* *cond_uqshlvnx8hi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9305; /* *cond_uqshlvnx16qi_2 */
    }
  if (register_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9313; /* *cond_uqshlvnx16qi_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9321; /* *cond_uqshlvnx16qi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9310; /* *cond_sqshlvnx2di_2 */
    }
  if (register_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9318; /* *cond_sqshlvnx2di_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9326; /* *cond_sqshlvnx2di_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9308; /* *cond_sqshlvnx4si_2 */
    }
  if (register_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9316; /* *cond_sqshlvnx4si_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9324; /* *cond_sqshlvnx4si_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9306; /* *cond_sqshlvnx8hi_2 */
    }
  if (register_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9314; /* *cond_sqshlvnx8hi_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9322; /* *cond_sqshlvnx8hi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9304; /* *cond_sqshlvnx16qi_2 */
    }
  if (register_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && 
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9312; /* *cond_sqshlvnx16qi_3 */
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))))
    return -1;
  return 9320; /* *cond_sqshlvnx16qi_any */
}

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, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9192; /* *cond_urshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9233; /* *cond_urshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9273; /* *cond_urshlvnx2di_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9180; /* *cond_urshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9223; /* *cond_urshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9263; /* *cond_urshlvnx4si_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9168; /* *cond_urshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9213; /* *cond_urshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9253; /* *cond_urshlvnx8hi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9156; /* *cond_urshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9203; /* *cond_urshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9243; /* *cond_urshlvnx16qi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9191; /* *cond_urhaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9232; /* *cond_urhaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9272; /* *cond_urhaddvnx2di_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9179; /* *cond_urhaddvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9222; /* *cond_urhaddvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9262; /* *cond_urhaddvnx4si_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9167; /* *cond_urhaddvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9212; /* *cond_urhaddvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9252; /* *cond_urhaddvnx8hi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9155; /* *cond_urhaddvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9202; /* *cond_urhaddvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9242; /* *cond_urhaddvnx16qi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9190; /* *cond_uqrshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9231; /* *cond_uqrshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9271; /* *cond_uqrshlvnx2di_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9178; /* *cond_uqrshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9221; /* *cond_uqrshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9261; /* *cond_uqrshlvnx4si_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9166; /* *cond_uqrshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9211; /* *cond_uqrshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9251; /* *cond_uqrshlvnx8hi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9154; /* *cond_uqrshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9201; /* *cond_uqrshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9241; /* *cond_uqrshlvnx16qi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9189; /* *cond_uhsubvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9230; /* *cond_uhsubvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9270; /* *cond_uhsubvnx2di_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9177; /* *cond_uhsubvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9220; /* *cond_uhsubvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9260; /* *cond_uhsubvnx4si_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9165; /* *cond_uhsubvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9210; /* *cond_uhsubvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9250; /* *cond_uhsubvnx8hi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9153; /* *cond_uhsubvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9200; /* *cond_uhsubvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9240; /* *cond_uhsubvnx16qi_any */
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9188; /* *cond_uhaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9229; /* *cond_uhaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9269; /* *cond_uhaddvnx2di_any */
}

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);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9176; /* *cond_uhaddvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9219; /* *cond_uhaddvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9259; /* *cond_uhaddvnx4si_any */
}

static int
recog_260 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9164; /* *cond_uhaddvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9209; /* *cond_uhaddvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9249; /* *cond_uhaddvnx8hi_any */
}

static int
recog_261 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9152; /* *cond_uhaddvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9199; /* *cond_uhaddvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9239; /* *cond_uhaddvnx16qi_any */
}

static int
recog_262 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9186; /* *cond_srshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9228; /* *cond_srshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9268; /* *cond_srshlvnx2di_any */
}

static int
recog_263 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9174; /* *cond_srshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9218; /* *cond_srshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9258; /* *cond_srshlvnx4si_any */
}

static int
recog_264 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9162; /* *cond_srshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9208; /* *cond_srshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9248; /* *cond_srshlvnx8hi_any */
}

static int
recog_265 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9150; /* *cond_srshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9198; /* *cond_srshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9238; /* *cond_srshlvnx16qi_any */
}

static int
recog_266 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9185; /* *cond_srhaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9227; /* *cond_srhaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9267; /* *cond_srhaddvnx2di_any */
}

static int
recog_267 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9173; /* *cond_srhaddvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9217; /* *cond_srhaddvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9257; /* *cond_srhaddvnx4si_any */
}

static int
recog_268 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9161; /* *cond_srhaddvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9207; /* *cond_srhaddvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9247; /* *cond_srhaddvnx8hi_any */
}

static int
recog_269 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9149; /* *cond_srhaddvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9197; /* *cond_srhaddvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9237; /* *cond_srhaddvnx16qi_any */
}

static int
recog_270 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9184; /* *cond_sqrshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9226; /* *cond_sqrshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9266; /* *cond_sqrshlvnx2di_any */
}

static int
recog_271 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9172; /* *cond_sqrshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9216; /* *cond_sqrshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9256; /* *cond_sqrshlvnx4si_any */
}

static int
recog_272 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9160; /* *cond_sqrshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9206; /* *cond_sqrshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9246; /* *cond_sqrshlvnx8hi_any */
}

static int
recog_273 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9148; /* *cond_sqrshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9196; /* *cond_sqrshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9236; /* *cond_sqrshlvnx16qi_any */
}

static int
recog_274 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9183; /* *cond_shsubvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9225; /* *cond_shsubvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9265; /* *cond_shsubvnx2di_any */
}

static int
recog_275 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9171; /* *cond_shsubvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9215; /* *cond_shsubvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9255; /* *cond_shsubvnx4si_any */
}

static int
recog_276 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9159; /* *cond_shsubvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9205; /* *cond_shsubvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9245; /* *cond_shsubvnx8hi_any */
}

static int
recog_277 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9147; /* *cond_shsubvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9195; /* *cond_shsubvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9235; /* *cond_shsubvnx16qi_any */
}

static int
recog_278 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9182; /* *cond_shaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9224; /* *cond_shaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
    return -1;
  return 9264; /* *cond_shaddvnx2di_any */
}

static int
recog_279 (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 (pattern560 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6771; /* *cond_asrdvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6811; /* *cond_asrdvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6775; /* *cond_asrdvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6815; /* *cond_asrdvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6779; /* *cond_asrdvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6819; /* *cond_asrdvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6783; /* *cond_asrdvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6823; /* *cond_asrdvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6787; /* *cond_asrdvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6827; /* *cond_asrdvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6791; /* *cond_asrdvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6831; /* *cond_asrdvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6795; /* *cond_asrdvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6835; /* *cond_asrdvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6799; /* *cond_asrdvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6839; /* *cond_asrdvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6803; /* *cond_asrdvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6843; /* *cond_asrdvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6807; /* *cond_asrdvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6847; /* *cond_asrdvnx2di_any */

    case 10:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6772; /* *cond_sqshluvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6812; /* *cond_sqshluvnx16qi_any */

    case 11:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6776; /* *cond_sqshluvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6816; /* *cond_sqshluvnx8qi_any */

    case 12:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6780; /* *cond_sqshluvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6820; /* *cond_sqshluvnx4qi_any */

    case 13:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6784; /* *cond_sqshluvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6824; /* *cond_sqshluvnx2qi_any */

    case 14:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6788; /* *cond_sqshluvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6828; /* *cond_sqshluvnx8hi_any */

    case 15:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6792; /* *cond_sqshluvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6832; /* *cond_sqshluvnx4hi_any */

    case 16:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6796; /* *cond_sqshluvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6836; /* *cond_sqshluvnx2hi_any */

    case 17:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6800; /* *cond_sqshluvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6840; /* *cond_sqshluvnx4si_any */

    case 18:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6804; /* *cond_sqshluvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6844; /* *cond_sqshluvnx2si_any */

    case 19:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6808; /* *cond_sqshluvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6848; /* *cond_sqshluvnx2di_any */

    case 20:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6773; /* *cond_srshrvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6813; /* *cond_srshrvnx16qi_any */

    case 21:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6777; /* *cond_srshrvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6817; /* *cond_srshrvnx8qi_any */

    case 22:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6781; /* *cond_srshrvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6821; /* *cond_srshrvnx4qi_any */

    case 23:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6785; /* *cond_srshrvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6825; /* *cond_srshrvnx2qi_any */

    case 24:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6789; /* *cond_srshrvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6829; /* *cond_srshrvnx8hi_any */

    case 25:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6793; /* *cond_srshrvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6833; /* *cond_srshrvnx4hi_any */

    case 26:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6797; /* *cond_srshrvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6837; /* *cond_srshrvnx2hi_any */

    case 27:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6801; /* *cond_srshrvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6841; /* *cond_srshrvnx4si_any */

    case 28:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6805; /* *cond_srshrvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6845; /* *cond_srshrvnx2si_any */

    case 29:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6809; /* *cond_srshrvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6849; /* *cond_srshrvnx2di_any */

    case 30:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6774; /* *cond_urshrvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6814; /* *cond_urshrvnx16qi_any */

    case 31:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6778; /* *cond_urshrvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6818; /* *cond_urshrvnx8qi_any */

    case 32:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6782; /* *cond_urshrvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6822; /* *cond_urshrvnx4qi_any */

    case 33:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6786; /* *cond_urshrvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6826; /* *cond_urshrvnx2qi_any */

    case 34:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6790; /* *cond_urshrvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6830; /* *cond_urshrvnx8hi_any */

    case 35:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6794; /* *cond_urshrvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6834; /* *cond_urshrvnx4hi_any */

    case 36:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6798; /* *cond_urshrvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6838; /* *cond_urshrvnx2hi_any */

    case 37:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6802; /* *cond_urshrvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6842; /* *cond_urshrvnx4si_any */

    case 38:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6806; /* *cond_urshrvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6846; /* *cond_urshrvnx2si_any */

    case 39:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6810; /* *cond_urshrvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6850; /* *cond_urshrvnx2di_any */

    case 40:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9146; /* *cond_shaddvnx16qi_2 */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9194; /* *cond_shaddvnx16qi_3 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 9234; /* *cond_shaddvnx16qi_any */

    case 41:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9158; /* *cond_shaddvnx8hi_2 */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9204; /* *cond_shaddvnx8hi_3 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 9244; /* *cond_shaddvnx8hi_any */

    case 42:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9170; /* *cond_shaddvnx4si_2 */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9214; /* *cond_shaddvnx4si_3 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 9254; /* *cond_shaddvnx4si_any */

    case 43:
      return recog_278 (x1, insn, pnum_clobbers);

    case 44:
      return recog_277 (x1, insn, pnum_clobbers);

    case 45:
      return recog_276 (x1, insn, pnum_clobbers);

    case 46:
      return recog_275 (x1, insn, pnum_clobbers);

    case 47:
      return recog_274 (x1, insn, pnum_clobbers);

    case 48:
      return recog_273 (x1, insn, pnum_clobbers);

    case 49:
      return recog_272 (x1, insn, pnum_clobbers);

    case 50:
      return recog_271 (x1, insn, pnum_clobbers);

    case 51:
      return recog_270 (x1, insn, pnum_clobbers);

    case 52:
      return recog_269 (x1, insn, pnum_clobbers);

    case 53:
      return recog_268 (x1, insn, pnum_clobbers);

    case 54:
      return recog_267 (x1, insn, pnum_clobbers);

    case 55:
      return recog_266 (x1, insn, pnum_clobbers);

    case 56:
      return recog_265 (x1, insn, pnum_clobbers);

    case 57:
      return recog_264 (x1, insn, pnum_clobbers);

    case 58:
      return recog_263 (x1, insn, pnum_clobbers);

    case 59:
      return recog_262 (x1, insn, pnum_clobbers);

    case 60:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9151; /* *cond_suqaddvnx16qi_2 */

    case 61:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9163; /* *cond_suqaddvnx8hi_2 */

    case 62:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9175; /* *cond_suqaddvnx4si_2 */

    case 63:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9187; /* *cond_suqaddvnx2di_2 */

    case 64:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9274; /* *cond_suqaddvnx16qi_z */

    case 65:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9276; /* *cond_suqaddvnx8hi_z */

    case 66:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9278; /* *cond_suqaddvnx4si_z */

    case 67:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9280; /* *cond_suqaddvnx2di_z */

    case 68:
      return recog_261 (x1, insn, pnum_clobbers);

    case 69:
      return recog_260 (x1, insn, pnum_clobbers);

    case 70:
      return recog_259 (x1, insn, pnum_clobbers);

    case 71:
      return recog_258 (x1, insn, pnum_clobbers);

    case 72:
      return recog_257 (x1, insn, pnum_clobbers);

    case 73:
      return recog_256 (x1, insn, pnum_clobbers);

    case 74:
      return recog_255 (x1, insn, pnum_clobbers);

    case 75:
      return recog_254 (x1, insn, pnum_clobbers);

    case 76:
      return recog_253 (x1, insn, pnum_clobbers);

    case 77:
      return recog_252 (x1, insn, pnum_clobbers);

    case 78:
      return recog_251 (x1, insn, pnum_clobbers);

    case 79:
      return recog_250 (x1, insn, pnum_clobbers);

    case 80:
      return recog_249 (x1, insn, pnum_clobbers);

    case 81:
      return recog_248 (x1, insn, pnum_clobbers);

    case 82:
      return recog_247 (x1, insn, pnum_clobbers);

    case 83:
      return recog_246 (x1, insn, pnum_clobbers);

    case 84:
      return recog_245 (x1, insn, pnum_clobbers);

    case 85:
      return recog_244 (x1, insn, pnum_clobbers);

    case 86:
      return recog_243 (x1, insn, pnum_clobbers);

    case 87:
      return recog_242 (x1, insn, pnum_clobbers);

    case 88:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9157; /* *cond_usqaddvnx16qi_2 */

    case 89:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9169; /* *cond_usqaddvnx8hi_2 */

    case 90:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9181; /* *cond_usqaddvnx4si_2 */

    case 91:
      if (!
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9193; /* *cond_usqaddvnx2di_2 */

    case 92:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9275; /* *cond_usqaddvnx16qi_z */

    case 93:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9277; /* *cond_usqaddvnx8hi_z */

    case 94:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9279; /* *cond_usqaddvnx4si_z */

    case 95:
      if (!
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9281; /* *cond_usqaddvnx2di_z */

    case 96:
      return recog_241 (x1, insn, pnum_clobbers);

    case 97:
      return recog_240 (x1, insn, pnum_clobbers);

    case 98:
      return recog_239 (x1, insn, pnum_clobbers);

    case 99:
      return recog_238 (x1, insn, pnum_clobbers);

    case 100:
      return recog_237 (x1, insn, pnum_clobbers);

    case 101:
      return recog_236 (x1, insn, pnum_clobbers);

    case 102:
      return recog_235 (x1, insn, pnum_clobbers);

    case 103:
      return recog_234 (x1, insn, pnum_clobbers);

    case 104:
      if (!
#line 2179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9892; /* *cond_urecpevnx4si */

    case 105:
      if (!
#line 2179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9893; /* *cond_ursqrtevnx4si */

    default:
      return -1;
    }
}

static int
recog_280 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (XWINT (x4, 0))
    {
    case 0L:
      switch (pattern735 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6901; /* *cond_subvnx8hf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6985; /* *cond_subvnx8hf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7039; /* *cond_subvnx8hf_any_relaxed */

        case 1:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6910; /* *cond_subvnx4sf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6994; /* *cond_subvnx4sf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7048; /* *cond_subvnx4sf_any_relaxed */

        case 2:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6919; /* *cond_subvnx2df_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7003; /* *cond_subvnx2df_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7057; /* *cond_subvnx2df_any_relaxed */

        case 3:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7163; /* *cond_subvnx8hf_3_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7169; /* *cond_subvnx8hf_const_relaxed */

        case 4:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7164; /* *cond_subvnx4sf_3_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7170; /* *cond_subvnx4sf_const_relaxed */

        case 5:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7165; /* *cond_subvnx2df_3_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7171; /* *cond_subvnx2df_const_relaxed */

        default:
          return -1;
        }

    case 1L:
      x5 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (pattern735 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6928; /* *cond_subvnx8hf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7012; /* *cond_subvnx8hf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7066; /* *cond_subvnx8hf_any_strict */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6937; /* *cond_subvnx4sf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7021; /* *cond_subvnx4sf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7075; /* *cond_subvnx4sf_any_strict */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6946; /* *cond_subvnx2df_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7030; /* *cond_subvnx2df_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7084; /* *cond_subvnx2df_any_strict */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7166; /* *cond_subvnx8hf_3_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7172; /* *cond_subvnx8hf_const_strict */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7167; /* *cond_subvnx4sf_3_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7173; /* *cond_subvnx4sf_const_strict */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7168; /* *cond_subvnx2df_3_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7174; /* *cond_subvnx2df_const_strict */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_281 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (XWINT (x4, 0))
    {
    case 0L:
      switch (pattern733 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6899; /* *cond_mulvnx8hf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6983; /* *cond_mulvnx8hf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7037; /* *cond_mulvnx8hf_any_relaxed */

        case 1:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6908; /* *cond_mulvnx4sf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6992; /* *cond_mulvnx4sf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7046; /* *cond_mulvnx4sf_any_relaxed */

        case 2:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6917; /* *cond_mulvnx2df_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7001; /* *cond_mulvnx2df_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7055; /* *cond_mulvnx2df_any_relaxed */

        case 3:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6951; /* *cond_mulvnx8hf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7089; /* *cond_mulvnx8hf_any_const_relaxed */

        case 4:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6956; /* *cond_mulvnx4sf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7094; /* *cond_mulvnx4sf_any_const_relaxed */

        case 5:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6961; /* *cond_mulvnx2df_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7099; /* *cond_mulvnx2df_any_const_relaxed */

        default:
          return -1;
        }

    case 1L:
      x5 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (pattern733 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6926; /* *cond_mulvnx8hf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7010; /* *cond_mulvnx8hf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7064; /* *cond_mulvnx8hf_any_strict */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6935; /* *cond_mulvnx4sf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7019; /* *cond_mulvnx4sf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7073; /* *cond_mulvnx4sf_any_strict */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6944; /* *cond_mulvnx2df_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7028; /* *cond_mulvnx2df_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7082; /* *cond_mulvnx2df_any_strict */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6966; /* *cond_mulvnx8hf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7104; /* *cond_mulvnx8hf_any_const_strict */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6971; /* *cond_mulvnx4sf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7109; /* *cond_mulvnx4sf_any_const_strict */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6976; /* *cond_mulvnx2df_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7114; /* *cond_mulvnx2df_any_const_strict */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_282 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (XWINT (x4, 0))
    {
    case 0L:
      switch (pattern730 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6893; /* *cond_addvnx8hf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6977; /* *cond_addvnx8hf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7031; /* *cond_addvnx8hf_any_relaxed */

        case 1:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6902; /* *cond_addvnx4sf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6986; /* *cond_addvnx4sf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7040; /* *cond_addvnx4sf_any_relaxed */

        case 2:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6911; /* *cond_addvnx2df_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6995; /* *cond_addvnx2df_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7049; /* *cond_addvnx2df_any_relaxed */

        case 3:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7118; /* *cond_addvnx8hf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7124; /* *cond_addvnx8hf_any_const_relaxed */

        case 4:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7119; /* *cond_addvnx4sf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7125; /* *cond_addvnx4sf_any_const_relaxed */

        case 5:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7120; /* *cond_addvnx2df_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7126; /* *cond_addvnx2df_any_const_relaxed */

        default:
          return -1;
        }

    case 1L:
      x5 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (pattern730 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6920; /* *cond_addvnx8hf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7004; /* *cond_addvnx8hf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7058; /* *cond_addvnx8hf_any_strict */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6929; /* *cond_addvnx4sf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7013; /* *cond_addvnx4sf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7067; /* *cond_addvnx4sf_any_strict */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6938; /* *cond_addvnx2df_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7022; /* *cond_addvnx2df_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7076; /* *cond_addvnx2df_any_strict */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5437 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7121; /* *cond_addvnx8hf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7127; /* *cond_addvnx8hf_any_const_strict */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5437 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7122; /* *cond_addvnx4sf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7128; /* *cond_addvnx4sf_any_const_strict */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5437 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7123; /* *cond_addvnx2df_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7129; /* *cond_addvnx2df_any_const_strict */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_283 (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 (pattern711 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6898; /* *cond_sminvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6982; /* *cond_sminvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7036; /* *cond_sminvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6907; /* *cond_sminvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6991; /* *cond_sminvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7045; /* *cond_sminvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6916; /* *cond_sminvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7000; /* *cond_sminvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7054; /* *cond_sminvnx2df_any_relaxed */

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6950; /* *cond_sminvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7088; /* *cond_sminvnx8hf_any_const_relaxed */

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6955; /* *cond_sminvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7093; /* *cond_sminvnx4sf_any_const_relaxed */

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6960; /* *cond_sminvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7098; /* *cond_sminvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6925; /* *cond_sminvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7009; /* *cond_sminvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7063; /* *cond_sminvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6934; /* *cond_sminvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7018; /* *cond_sminvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7072; /* *cond_sminvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6943; /* *cond_sminvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7027; /* *cond_sminvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7081; /* *cond_sminvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6965; /* *cond_sminvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7103; /* *cond_sminvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6970; /* *cond_sminvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7108; /* *cond_sminvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6975; /* *cond_sminvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7113; /* *cond_sminvnx2df_any_const_strict */

    default:
      return -1;
    }
}

static int
recog_284 (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 (pattern711 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6897; /* *cond_fmin_nanvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6981; /* *cond_fmin_nanvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7035; /* *cond_fmin_nanvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6906; /* *cond_fmin_nanvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6990; /* *cond_fmin_nanvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7044; /* *cond_fmin_nanvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6915; /* *cond_fmin_nanvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6999; /* *cond_fmin_nanvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7053; /* *cond_fmin_nanvnx2df_any_relaxed */

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6949; /* *cond_fmin_nanvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7087; /* *cond_fmin_nanvnx8hf_any_const_relaxed */

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6954; /* *cond_fmin_nanvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7092; /* *cond_fmin_nanvnx4sf_any_const_relaxed */

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6959; /* *cond_fmin_nanvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7097; /* *cond_fmin_nanvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6924; /* *cond_fmin_nanvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7008; /* *cond_fmin_nanvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7062; /* *cond_fmin_nanvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6933; /* *cond_fmin_nanvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7017; /* *cond_fmin_nanvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7071; /* *cond_fmin_nanvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6942; /* *cond_fmin_nanvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7026; /* *cond_fmin_nanvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7080; /* *cond_fmin_nanvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6964; /* *cond_fmin_nanvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7102; /* *cond_fmin_nanvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6969; /* *cond_fmin_nanvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7107; /* *cond_fmin_nanvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6974; /* *cond_fmin_nanvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7112; /* *cond_fmin_nanvnx2df_any_const_strict */

    default:
      return -1;
    }
}

static int
recog_285 (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 (pattern711 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6896; /* *cond_smaxvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6980; /* *cond_smaxvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7034; /* *cond_smaxvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6905; /* *cond_smaxvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6989; /* *cond_smaxvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7043; /* *cond_smaxvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6914; /* *cond_smaxvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6998; /* *cond_smaxvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7052; /* *cond_smaxvnx2df_any_relaxed */

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6948; /* *cond_smaxvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7086; /* *cond_smaxvnx8hf_any_const_relaxed */

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6953; /* *cond_smaxvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7091; /* *cond_smaxvnx4sf_any_const_relaxed */

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6958; /* *cond_smaxvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7096; /* *cond_smaxvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6923; /* *cond_smaxvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7007; /* *cond_smaxvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7061; /* *cond_smaxvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6932; /* *cond_smaxvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7016; /* *cond_smaxvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7070; /* *cond_smaxvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6941; /* *cond_smaxvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7025; /* *cond_smaxvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7079; /* *cond_smaxvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6963; /* *cond_smaxvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7101; /* *cond_smaxvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6968; /* *cond_smaxvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7106; /* *cond_smaxvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6973; /* *cond_smaxvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7111; /* *cond_smaxvnx2df_any_const_strict */

    default:
      return -1;
    }
}

static int
recog_286 (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 (pattern711 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6895; /* *cond_fmax_nanvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6979; /* *cond_fmax_nanvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7033; /* *cond_fmax_nanvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6904; /* *cond_fmax_nanvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6988; /* *cond_fmax_nanvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7042; /* *cond_fmax_nanvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6913; /* *cond_fmax_nanvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6997; /* *cond_fmax_nanvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7051; /* *cond_fmax_nanvnx2df_any_relaxed */

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6947; /* *cond_fmax_nanvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7085; /* *cond_fmax_nanvnx8hf_any_const_relaxed */

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6952; /* *cond_fmax_nanvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7090; /* *cond_fmax_nanvnx4sf_any_const_relaxed */

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6957; /* *cond_fmax_nanvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7095; /* *cond_fmax_nanvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6922; /* *cond_fmax_nanvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7006; /* *cond_fmax_nanvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7060; /* *cond_fmax_nanvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6931; /* *cond_fmax_nanvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7015; /* *cond_fmax_nanvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7069; /* *cond_fmax_nanvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6940; /* *cond_fmax_nanvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7024; /* *cond_fmax_nanvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 7078; /* *cond_fmax_nanvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6962; /* *cond_fmax_nanvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7100; /* *cond_fmax_nanvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6967; /* *cond_fmax_nanvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7105; /* *cond_fmax_nanvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6972; /* *cond_fmax_nanvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7110; /* *cond_fmax_nanvnx2df_any_const_strict */

    default:
      return -1;
    }
}

static int
recog_287 (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 (pattern754 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7423; /* *cond_fmsvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7447; /* *cond_fmsvnx8hf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7471; /* *cond_fmsvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7427; /* *cond_fmsvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7451; /* *cond_fmsvnx4sf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7475; /* *cond_fmsvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7431; /* *cond_fmsvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7455; /* *cond_fmsvnx2df_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7479; /* *cond_fmsvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7435; /* *cond_fmsvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7459; /* *cond_fmsvnx8hf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7483; /* *cond_fmsvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7439; /* *cond_fmsvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7463; /* *cond_fmsvnx4sf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7487; /* *cond_fmsvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7443; /* *cond_fmsvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7467; /* *cond_fmsvnx2df_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7491; /* *cond_fmsvnx2df_any_strict */

    default:
      return -1;
    }
}

static int
recog_288 (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 (pattern754 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7422; /* *cond_fnmsvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7446; /* *cond_fnmsvnx8hf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7470; /* *cond_fnmsvnx8hf_any_relaxed */

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7426; /* *cond_fnmsvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7450; /* *cond_fnmsvnx4sf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7474; /* *cond_fnmsvnx4sf_any_relaxed */

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7430; /* *cond_fnmsvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7454; /* *cond_fnmsvnx2df_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7478; /* *cond_fnmsvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7434; /* *cond_fnmsvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7458; /* *cond_fnmsvnx8hf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7482; /* *cond_fnmsvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7438; /* *cond_fnmsvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7462; /* *cond_fnmsvnx4sf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7486; /* *cond_fnmsvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7442; /* *cond_fnmsvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7466; /* *cond_fnmsvnx2df_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7490; /* *cond_fnmsvnx2df_any_strict */

    default:
      return -1;
    }
}

static int
recog_289 (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 = XVECEXP (x2, 0, 1);
  switch (XINT (x3, 1))
    {
    case 283:
      return recog_223 (x1, insn, pnum_clobbers);

    case 333:
      return recog_224 (x1, insn, pnum_clobbers);

    case 360:
      return recog_232 (x1, insn, pnum_clobbers);

    case 363:
      switch (pattern581 (x2))
        {
        case 0:
          x4 = XVECEXP (x3, 0, 0);
          operands[3] = x4;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5628; /* *cond_frecpxvnx8hf_2_relaxed */
          operands[4] = x4;
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5694; /* *cond_frecpxvnx8hf_any_relaxed */

        case 1:
          x4 = XVECEXP (x3, 0, 0);
          operands[3] = x4;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5639; /* *cond_frecpxvnx4sf_2_relaxed */
          operands[4] = x4;
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5705; /* *cond_frecpxvnx4sf_any_relaxed */

        case 2:
          x4 = XVECEXP (x3, 0, 0);
          operands[3] = x4;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5650; /* *cond_frecpxvnx2df_2_relaxed */
          operands[4] = x4;
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5716; /* *cond_frecpxvnx2df_any_relaxed */

        case 3:
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5661; /* *cond_frecpxvnx8hf_2_strict */
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5727; /* *cond_frecpxvnx8hf_any_strict */

        case 4:
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5672; /* *cond_frecpxvnx4sf_2_strict */
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5738; /* *cond_frecpxvnx4sf_any_strict */

        case 5:
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5683; /* *cond_frecpxvnx2df_2_strict */
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !
#line 3515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5749; /* *cond_frecpxvnx2df_any_strict */

        default:
          return -1;
        }

    case 364:
      return recog_233 (x1, insn, pnum_clobbers);

    case 365:
      return recog_231 (x1, insn, pnum_clobbers);

    case 366:
      return recog_230 (x1, insn, pnum_clobbers);

    case 367:
      return recog_229 (x1, insn, pnum_clobbers);

    case 368:
      return recog_228 (x1, insn, pnum_clobbers);

    case 369:
      return recog_227 (x1, insn, pnum_clobbers);

    case 370:
      return recog_226 (x1, insn, pnum_clobbers);

    case 372:
      return recog_225 (x1, insn, pnum_clobbers);

    case 349:
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      switch (XWINT (x6, 0))
        {
        case 0L:
          switch (pattern749 (x2))
            {
            case 0:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8855; /* *cond_fix_trunc_nontruncvnx8hfvnx8hi_relaxed */
              break;

            case 1:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8857; /* *cond_fix_trunc_nontruncvnx8hfvnx4si_relaxed */
              break;

            case 2:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8859; /* *cond_fix_trunc_nontruncvnx4sfvnx4si_relaxed */
              break;

            case 3:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8861; /* *cond_fix_trunc_nontruncvnx8hfvnx2di_relaxed */
              break;

            case 4:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8863; /* *cond_fix_trunc_nontruncvnx4sfvnx2di_relaxed */
              break;

            case 5:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8865; /* *cond_fix_trunc_nontruncvnx2dfvnx2di_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern750 (x2))
            {
            case 0:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8867; /* *cond_fix_trunc_nontruncvnx8hfvnx8hi_strict */
              break;

            case 1:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8869; /* *cond_fix_trunc_nontruncvnx8hfvnx4si_strict */
              break;

            case 2:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8871; /* *cond_fix_trunc_nontruncvnx4sfvnx4si_strict */
              break;

            case 3:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8873; /* *cond_fix_trunc_nontruncvnx8hfvnx2di_strict */
              break;

            case 4:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8875; /* *cond_fix_trunc_nontruncvnx4sfvnx2di_strict */
              break;

            case 5:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8877; /* *cond_fix_trunc_nontruncvnx2dfvnx2di_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || pattern751 (x2, E_VNx2DFmode, E_VNx4SImode) != 0
          || !
#line 9057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8879; /* *cond_fix_trunc_truncvnx2dfvnx4si */

    case 350:
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      switch (XWINT (x6, 0))
        {
        case 0L:
          switch (pattern749 (x2))
            {
            case 0:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8856; /* *cond_fixuns_trunc_nontruncvnx8hfvnx8hi_relaxed */
              break;

            case 1:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8858; /* *cond_fixuns_trunc_nontruncvnx8hfvnx4si_relaxed */
              break;

            case 2:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8860; /* *cond_fixuns_trunc_nontruncvnx4sfvnx4si_relaxed */
              break;

            case 3:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8862; /* *cond_fixuns_trunc_nontruncvnx8hfvnx2di_relaxed */
              break;

            case 4:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8864; /* *cond_fixuns_trunc_nontruncvnx4sfvnx2di_relaxed */
              break;

            case 5:
              if (
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8866; /* *cond_fixuns_trunc_nontruncvnx2dfvnx2di_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern750 (x2))
            {
            case 0:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8868; /* *cond_fixuns_trunc_nontruncvnx8hfvnx8hi_strict */
              break;

            case 1:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8870; /* *cond_fixuns_trunc_nontruncvnx8hfvnx4si_strict */
              break;

            case 2:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8872; /* *cond_fixuns_trunc_nontruncvnx4sfvnx4si_strict */
              break;

            case 3:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8874; /* *cond_fixuns_trunc_nontruncvnx8hfvnx2di_strict */
              break;

            case 4:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8876; /* *cond_fixuns_trunc_nontruncvnx4sfvnx2di_strict */
              break;

            case 5:
              if (
#line 9023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8878; /* *cond_fixuns_trunc_nontruncvnx2dfvnx2di_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || pattern751 (x2, E_VNx2DFmode, E_VNx4SImode) != 0
          || !
#line 9057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8880; /* *cond_fixuns_trunc_truncvnx2dfvnx4si */

    case 374:
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      switch (XWINT (x6, 0))
        {
        case 0L:
          switch (pattern752 (x2))
            {
            case 0:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8895; /* *cond_float_nonextendvnx8hivnx8hf_relaxed */
              break;

            case 1:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8897; /* *cond_float_nonextendvnx4sivnx8hf_relaxed */
              break;

            case 2:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8901; /* *cond_float_nonextendvnx2divnx8hf_relaxed */
              break;

            case 3:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8899; /* *cond_float_nonextendvnx4sivnx4sf_relaxed */
              break;

            case 4:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8903; /* *cond_float_nonextendvnx2divnx4sf_relaxed */
              break;

            case 5:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8905; /* *cond_float_nonextendvnx2divnx2df_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern753 (x2))
            {
            case 0:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8907; /* *cond_float_nonextendvnx8hivnx8hf_strict */
              break;

            case 1:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8909; /* *cond_float_nonextendvnx4sivnx8hf_strict */
              break;

            case 2:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8913; /* *cond_float_nonextendvnx2divnx8hf_strict */
              break;

            case 3:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8911; /* *cond_float_nonextendvnx4sivnx4sf_strict */
              break;

            case 4:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8915; /* *cond_float_nonextendvnx2divnx4sf_strict */
              break;

            case 5:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8917; /* *cond_float_nonextendvnx2divnx2df_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || pattern751 (x2, E_VNx4SImode, E_VNx2DFmode) != 0
          || !
#line 9244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8919; /* *cond_float_extendvnx4sivnx2df */

    case 375:
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      switch (XWINT (x6, 0))
        {
        case 0L:
          switch (pattern752 (x2))
            {
            case 0:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8896; /* *cond_floatuns_nonextendvnx8hivnx8hf_relaxed */
              break;

            case 1:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8898; /* *cond_floatuns_nonextendvnx4sivnx8hf_relaxed */
              break;

            case 2:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8902; /* *cond_floatuns_nonextendvnx2divnx8hf_relaxed */
              break;

            case 3:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8900; /* *cond_floatuns_nonextendvnx4sivnx4sf_relaxed */
              break;

            case 4:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8904; /* *cond_floatuns_nonextendvnx2divnx4sf_relaxed */
              break;

            case 5:
              if (
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8906; /* *cond_floatuns_nonextendvnx2divnx2df_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern753 (x2))
            {
            case 0:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8908; /* *cond_floatuns_nonextendvnx8hivnx8hf_strict */
              break;

            case 1:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 8910; /* *cond_floatuns_nonextendvnx4sivnx8hf_strict */
              break;

            case 2:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 8914; /* *cond_floatuns_nonextendvnx2divnx8hf_strict */
              break;

            case 3:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 8912; /* *cond_floatuns_nonextendvnx4sivnx4sf_strict */
              break;

            case 4:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 8916; /* *cond_floatuns_nonextendvnx2divnx4sf_strict */
              break;

            case 5:
              if (
#line 9210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 8918; /* *cond_floatuns_nonextendvnx2divnx2df_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || pattern751 (x2, E_VNx4SImode, E_VNx2DFmode) != 0
          || !
#line 9244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8920; /* *cond_floatuns_extendvnx4sivnx2df */

    case 348:
      x6 = XVECEXP (x3, 0, 1);
      operands[4] = x6;
      if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      x4 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x4, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          switch (pattern548 (x2, E_VNx4SFmode, E_VNx2DFmode, E_VNx8HFmode))
            {
            case 0:
              if (!
#line 9364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                return -1;
              return 8924; /* *cond_fcvt_truncvnx4sfvnx8hf */

            case 1:
              if (!
#line 9364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                return -1;
              return 8925; /* *cond_fcvt_truncvnx2dfvnx8hf */

            default:
              return -1;
            }

        case E_VNx4SFmode:
          if (!register_operand (operands[0], E_VNx4SFmode)
              || GET_MODE (x2) != E_VNx4SFmode
              || GET_MODE (x3) != E_VNx4SFmode
              || !aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_VNx2BImode:
              if (!register_operand (operands[1], E_VNx2BImode)
                  || !register_operand (operands[2], E_VNx2DFmode)
                  || !
#line 9364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 8926; /* *cond_fcvt_truncvnx2dfvnx4sf */

            case E_VNx4BImode:
              if (!register_operand (operands[1], E_VNx4BImode)
                  || !register_operand (operands[2], E_VNx8HFmode)
                  || !
#line 9521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                return -1;
              return 8933; /* *cond_fcvt_nontruncvnx8hfvnx4sf */

            default:
              return -1;
            }

        case E_VNx8BFmode:
          if (pattern544 (x2, E_VNx8BFmode, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 9421 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
            return -1;
          return 8928; /* *cond_fcvt_truncvnx4sfvnx8bf */

        case E_VNx2DFmode:
          switch (pattern545 (x2, E_VNx2DFmode, E_VNx2BImode))
            {
            case 0:
              if (!
#line 9521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                return -1;
              return 8934; /* *cond_fcvt_nontruncvnx8hfvnx2df */

            case 1:
              if (!
#line 9521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 8935; /* *cond_fcvt_nontruncvnx4sfvnx2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 71:
      switch (pattern553 (x2))
        {
        case 0:
          if (!
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9786; /* *cond_sadalpvnx8hi_2 */

        case 1:
          if (!
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9788; /* *cond_sadalpvnx4si_2 */

        case 2:
          if (!
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9790; /* *cond_sadalpvnx2di_2 */

        case 3:
          if (!
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9792; /* *cond_sadalpvnx8hi_z */

        case 4:
          if (!
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9794; /* *cond_sadalpvnx4si_z */

        case 5:
          if (!
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9796; /* *cond_sadalpvnx2di_z */

        default:
          return -1;
        }

    case 95:
      switch (pattern553 (x2))
        {
        case 0:
          if (!
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9787; /* *cond_uadalpvnx8hi_2 */

        case 1:
          if (!
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9789; /* *cond_uadalpvnx4si_2 */

        case 2:
          if (!
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9791; /* *cond_uadalpvnx2di_2 */

        case 3:
          if (!
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9793; /* *cond_uadalpvnx8hi_z */

        case 4:
          if (!
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9795; /* *cond_uadalpvnx4si_z */

        case 5:
          if (!
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9797; /* *cond_uadalpvnx2di_z */

        default:
          return -1;
        }

    case 415:
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      switch (XWINT (x6, 0))
        {
        case 0L:
          x4 = XVECEXP (x3, 0, 0);
          operands[4] = x4;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SFmode:
              if (pattern778 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
                  || !
#line 1981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9880; /* *cond_fcvtltvnx4sf_relaxed */

            case E_VNx2DFmode:
              if (pattern778 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
                  || !
#line 1981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9881; /* *cond_fcvtltvnx2df_relaxed */

            default:
              return -1;
            }

        case 1L:
          x4 = XVECEXP (x3, 0, 0);
          if (!rtx_equal_p (x4, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SFmode:
              if (pattern778 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
                  || !
#line 2000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9882; /* *cond_fcvtltvnx4sf_strict */

            case E_VNx2DFmode:
              if (pattern778 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
                  || !
#line 2000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9883; /* *cond_fcvtltvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 417:
      if (GET_MODE (x3) != E_VNx4SFmode)
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT
          || !register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x2) != E_VNx4SFmode
          || !register_operand (operands[1], E_VNx2BImode))
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      if (!register_operand (operands[2], E_VNx2DFmode))
        return -1;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode))
        return -1;
      switch (XWINT (x6, 0))
        {
        case 0L:
          x4 = XVECEXP (x3, 0, 0);
          operands[4] = x4;
          if (!
#line 2072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 9887; /* *cond_fcvtxvnx4sf_any_relaxed */

        case 1L:
          x4 = XVECEXP (x3, 0, 0);
          if (!rtx_equal_p (x4, operands[1])
              || !
#line 2095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 9888; /* *cond_fcvtxvnx4sf_any_strict */

        default:
          return -1;
        }

    case 419:
      x6 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[2] = x7;
      x5 = XVECEXP (x2, 0, 2);
      operands[3] = x5;
      switch (XWINT (x6, 0))
        {
        case 0L:
          x4 = XVECEXP (x3, 0, 0);
          operands[4] = x4;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern544 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 2239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 9897; /* *cond_flogbvnx8hf */

            case E_VNx4SImode:
              if (pattern544 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 2239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 9898; /* *cond_flogbvnx4sf */

            case E_VNx2DImode:
              if (pattern544 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 2239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 9899; /* *cond_flogbvnx2df */

            default:
              return -1;
            }

        case 1L:
          x4 = XVECEXP (x3, 0, 0);
          if (!rtx_equal_p (x4, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern544 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 2262 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 9900; /* *cond_flogbvnx8hf_strict */

            case E_VNx4SImode:
              if (pattern544 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 2262 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 9901; /* *cond_flogbvnx4sf_strict */

            case E_VNx2DImode:
              if (pattern544 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 2262 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 9902; /* *cond_flogbvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_290 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 3);
  operands[3] = x6;
  x7 = XVECEXP (x3, 0, 4);
  operands[4] = x7;
  switch (XINT (x3, 1))
    {
    case 356:
      switch (pattern754 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7420; /* *cond_fmavnx8hf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7444; /* *cond_fmavnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7468; /* *cond_fmavnx8hf_any_relaxed */

        case 1:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7424; /* *cond_fmavnx4sf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7448; /* *cond_fmavnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7472; /* *cond_fmavnx4sf_any_relaxed */

        case 2:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7428; /* *cond_fmavnx2df_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7452; /* *cond_fmavnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7476; /* *cond_fmavnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7432; /* *cond_fmavnx8hf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7456; /* *cond_fmavnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7480; /* *cond_fmavnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7436; /* *cond_fmavnx4sf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7460; /* *cond_fmavnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7484; /* *cond_fmavnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7440; /* *cond_fmavnx2df_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7464; /* *cond_fmavnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7488; /* *cond_fmavnx2df_any_strict */

        default:
          return -1;
        }

    case 357:
      switch (pattern754 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7421; /* *cond_fnmavnx8hf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7445; /* *cond_fnmavnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7469; /* *cond_fnmavnx8hf_any_relaxed */

        case 1:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7425; /* *cond_fnmavnx4sf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7449; /* *cond_fnmavnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7473; /* *cond_fnmavnx4sf_any_relaxed */

        case 2:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7429; /* *cond_fnmavnx2df_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7453; /* *cond_fnmavnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7477; /* *cond_fnmavnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7433; /* *cond_fnmavnx8hf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7457; /* *cond_fnmavnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7481; /* *cond_fnmavnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7437; /* *cond_fnmavnx4sf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7461; /* *cond_fnmavnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7485; /* *cond_fnmavnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7441; /* *cond_fnmavnx2df_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7465; /* *cond_fnmavnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7489; /* *cond_fnmavnx2df_any_strict */

        default:
          return -1;
        }

    case 361:
      return recog_288 (x1, insn, pnum_clobbers);

    case 362:
      return recog_287 (x1, insn, pnum_clobbers);

    case 340:
      switch (pattern754 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7510; /* *cond_fcmlavnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7534; /* *cond_fcmlavnx8hf_any_relaxed */

        case 1:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7514; /* *cond_fcmlavnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7538; /* *cond_fcmlavnx4sf_any_relaxed */

        case 2:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7518; /* *cond_fcmlavnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7542; /* *cond_fcmlavnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7522; /* *cond_fcmlavnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7546; /* *cond_fcmlavnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7526; /* *cond_fcmlavnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7550; /* *cond_fcmlavnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7530; /* *cond_fcmlavnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7554; /* *cond_fcmlavnx2df_any_strict */

        default:
          return -1;
        }

    case 341:
      switch (pattern754 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7511; /* *cond_fcmla90vnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7535; /* *cond_fcmla90vnx8hf_any_relaxed */

        case 1:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7515; /* *cond_fcmla90vnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7539; /* *cond_fcmla90vnx4sf_any_relaxed */

        case 2:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7519; /* *cond_fcmla90vnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7543; /* *cond_fcmla90vnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7523; /* *cond_fcmla90vnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7547; /* *cond_fcmla90vnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7527; /* *cond_fcmla90vnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7551; /* *cond_fcmla90vnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7531; /* *cond_fcmla90vnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7555; /* *cond_fcmla90vnx2df_any_strict */

        default:
          return -1;
        }

    case 342:
      switch (pattern754 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7512; /* *cond_fcmla180vnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7536; /* *cond_fcmla180vnx8hf_any_relaxed */

        case 1:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7516; /* *cond_fcmla180vnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7540; /* *cond_fcmla180vnx4sf_any_relaxed */

        case 2:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7520; /* *cond_fcmla180vnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7544; /* *cond_fcmla180vnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7524; /* *cond_fcmla180vnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7548; /* *cond_fcmla180vnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7528; /* *cond_fcmla180vnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7552; /* *cond_fcmla180vnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7532; /* *cond_fcmla180vnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7556; /* *cond_fcmla180vnx2df_any_strict */

        default:
          return -1;
        }

    case 343:
      switch (pattern754 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7513; /* *cond_fcmla270vnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7537; /* *cond_fcmla270vnx8hf_any_relaxed */

        case 1:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7517; /* *cond_fcmla270vnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7541; /* *cond_fcmla270vnx4sf_any_relaxed */

        case 2:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7521; /* *cond_fcmla270vnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7545; /* *cond_fcmla270vnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7525; /* *cond_fcmla270vnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7549; /* *cond_fcmla270vnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7529; /* *cond_fcmla270vnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7553; /* *cond_fcmla270vnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7533; /* *cond_fcmla270vnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7557; /* *cond_fcmla270vnx2df_any_strict */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_291 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 3);
  operands[3] = x6;
  switch (XINT (x3, 1))
    {
    case 371:
      switch (XWINT (x4, 0))
        {
        case 0L:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern779 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x3, 0, 0);
              operands[4] = x7;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6860; /* *cond_fscalevnx8hf_2_relaxed */
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
                  || !
#line 4945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6866; /* *cond_fscalevnx8hf_any_relaxed */

            case E_VNx4SFmode:
              if (pattern779 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x3, 0, 0);
              operands[4] = x7;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6861; /* *cond_fscalevnx4sf_2_relaxed */
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
                  || !
#line 4945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6867; /* *cond_fscalevnx4sf_any_relaxed */

            case E_VNx2DFmode:
              if (pattern779 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x3, 0, 0);
              operands[4] = x7;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6862; /* *cond_fscalevnx2df_2_relaxed */
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
                  || !
#line 4945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6868; /* *cond_fscalevnx2df_any_relaxed */

            default:
              return -1;
            }

        case 1L:
          x7 = XVECEXP (x3, 0, 0);
          if (!rtx_equal_p (x7, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern779 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6863; /* *cond_fscalevnx8hf_2_strict */
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
                  || !
#line 4981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6869; /* *cond_fscalevnx8hf_any_strict */

            case E_VNx4SFmode:
              if (pattern779 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0)
                return -1;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6864; /* *cond_fscalevnx4sf_2_strict */
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
                  || !
#line 4981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6870; /* *cond_fscalevnx4sf_any_strict */

            case E_VNx2DFmode:
              if (pattern779 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0)
                return -1;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6865; /* *cond_fscalevnx2df_2_strict */
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
                  || !
#line 4981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6871; /* *cond_fscalevnx2df_any_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 334:
      return recog_282 (x1, insn, pnum_clobbers);

    case 351:
      switch (pattern710 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6894; /* *cond_divvnx8hf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6978; /* *cond_divvnx8hf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7032; /* *cond_divvnx8hf_any_relaxed */

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6903; /* *cond_divvnx4sf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6987; /* *cond_divvnx4sf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7041; /* *cond_divvnx4sf_any_relaxed */

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6912; /* *cond_divvnx2df_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6996; /* *cond_divvnx2df_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7050; /* *cond_divvnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6921; /* *cond_divvnx8hf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7005; /* *cond_divvnx8hf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7059; /* *cond_divvnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6930; /* *cond_divvnx4sf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7014; /* *cond_divvnx4sf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7068; /* *cond_divvnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6939; /* *cond_divvnx2df_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7023; /* *cond_divvnx2df_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7077; /* *cond_divvnx2df_any_strict */

        default:
          return -1;
        }

    case 352:
      return recog_286 (x1, insn, pnum_clobbers);

    case 353:
      return recog_285 (x1, insn, pnum_clobbers);

    case 354:
      return recog_284 (x1, insn, pnum_clobbers);

    case 355:
      return recog_283 (x1, insn, pnum_clobbers);

    case 358:
      return recog_281 (x1, insn, pnum_clobbers);

    case 359:
      switch (pattern710 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6900; /* *cond_mulxvnx8hf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6984; /* *cond_mulxvnx8hf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7038; /* *cond_mulxvnx8hf_any_relaxed */

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6909; /* *cond_mulxvnx4sf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6993; /* *cond_mulxvnx4sf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7047; /* *cond_mulxvnx4sf_any_relaxed */

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6918; /* *cond_mulxvnx2df_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7002; /* *cond_mulxvnx2df_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7056; /* *cond_mulxvnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6927; /* *cond_mulxvnx8hf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7011; /* *cond_mulxvnx8hf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7065; /* *cond_mulxvnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6936; /* *cond_mulxvnx4sf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7020; /* *cond_mulxvnx4sf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7074; /* *cond_mulxvnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6945; /* *cond_mulxvnx2df_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7029; /* *cond_mulxvnx2df_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7083; /* *cond_mulxvnx2df_any_strict */

        default:
          return -1;
        }

    case 373:
      return recog_280 (x1, insn, pnum_clobbers);

    case 335:
      switch (pattern710 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7136; /* *cond_cadd90vnx8hf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7148; /* *cond_cadd90vnx8hf_any_relaxed */

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7138; /* *cond_cadd90vnx4sf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7150; /* *cond_cadd90vnx4sf_any_relaxed */

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7140; /* *cond_cadd90vnx2df_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7152; /* *cond_cadd90vnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7142; /* *cond_cadd90vnx8hf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7154; /* *cond_cadd90vnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7144; /* *cond_cadd90vnx4sf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7156; /* *cond_cadd90vnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7146; /* *cond_cadd90vnx2df_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7158; /* *cond_cadd90vnx2df_any_strict */

        default:
          return -1;
        }

    case 336:
      switch (pattern710 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7137; /* *cond_cadd270vnx8hf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7149; /* *cond_cadd270vnx8hf_any_relaxed */

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7139; /* *cond_cadd270vnx4sf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7151; /* *cond_cadd270vnx4sf_any_relaxed */

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7141; /* *cond_cadd270vnx2df_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7153; /* *cond_cadd270vnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7143; /* *cond_cadd270vnx8hf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7155; /* *cond_cadd270vnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7145; /* *cond_cadd270vnx4sf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7157; /* *cond_cadd270vnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7147; /* *cond_cadd270vnx2df_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7159; /* *cond_cadd270vnx2df_any_strict */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_292 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7364; /* *cond_fnmavnx16qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7374; /* *cond_fnmavnx16qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx16QImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7384; /* *cond_fnmavnx16qi_any */

    case E_VNx8QImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7365; /* *cond_fnmavnx8qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7375; /* *cond_fnmavnx8qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8QImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7385; /* *cond_fnmavnx8qi_any */

    case E_VNx4QImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7366; /* *cond_fnmavnx4qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7376; /* *cond_fnmavnx4qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4QImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7386; /* *cond_fnmavnx4qi_any */

    case E_VNx2QImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7367; /* *cond_fnmavnx2qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7377; /* *cond_fnmavnx2qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2QImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7387; /* *cond_fnmavnx2qi_any */

    case E_VNx8HImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7368; /* *cond_fnmavnx8hi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7378; /* *cond_fnmavnx8hi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7388; /* *cond_fnmavnx8hi_any */

    case E_VNx4HImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7369; /* *cond_fnmavnx4hi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7379; /* *cond_fnmavnx4hi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4HImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7389; /* *cond_fnmavnx4hi_any */

    case E_VNx2HImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7370; /* *cond_fnmavnx2hi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7380; /* *cond_fnmavnx2hi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2HImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7390; /* *cond_fnmavnx2hi_any */

    case E_VNx4SImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7371; /* *cond_fnmavnx4si_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7381; /* *cond_fnmavnx4si_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7391; /* *cond_fnmavnx4si_any */

    case E_VNx2SImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7372; /* *cond_fnmavnx2si_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7382; /* *cond_fnmavnx2si_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2SImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7392; /* *cond_fnmavnx2si_any */

    case E_VNx2DImode:
      x2 = XEXP (x1, 1);
      if (pattern755 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7373; /* *cond_fnmavnx2di_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7383; /* *cond_fnmavnx2di_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DImode)
          || !
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
        return -1;
      return 7393; /* *cond_fnmavnx2di_any */

    default:
      return -1;
    }
}

static int
recog_293 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern452 (x2))
    {
    case 0:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern318 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5863; /* *cond_subvnx16qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6033; /* *cond_subvnx16qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6203; /* *cond_subvnx16qi_any */

        case E_VNx8QImode:
          if (pattern318 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5880; /* *cond_subvnx8qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6050; /* *cond_subvnx8qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6220; /* *cond_subvnx8qi_any */

        case E_VNx4QImode:
          if (pattern318 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5897; /* *cond_subvnx4qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6067; /* *cond_subvnx4qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6237; /* *cond_subvnx4qi_any */

        case E_VNx2QImode:
          if (pattern318 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5914; /* *cond_subvnx2qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6084; /* *cond_subvnx2qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6254; /* *cond_subvnx2qi_any */

        case E_VNx8HImode:
          if (pattern318 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5931; /* *cond_subvnx8hi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6101; /* *cond_subvnx8hi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6271; /* *cond_subvnx8hi_any */

        case E_VNx4HImode:
          if (pattern318 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5948; /* *cond_subvnx4hi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6118; /* *cond_subvnx4hi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6288; /* *cond_subvnx4hi_any */

        case E_VNx2HImode:
          if (pattern318 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5965; /* *cond_subvnx2hi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6135; /* *cond_subvnx2hi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6305; /* *cond_subvnx2hi_any */

        case E_VNx4SImode:
          if (pattern318 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5982; /* *cond_subvnx4si_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6152; /* *cond_subvnx4si_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6322; /* *cond_subvnx4si_any */

        case E_VNx2SImode:
          if (pattern318 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5999; /* *cond_subvnx2si_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6169; /* *cond_subvnx2si_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6339; /* *cond_subvnx2si_any */

        case E_VNx2DImode:
          if (pattern318 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6016; /* *cond_subvnx2di_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6186; /* *cond_subvnx2di_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6356; /* *cond_subvnx2di_any */

        default:
          return -1;
        }

    case 1:
      return recog_292 (x1, insn, pnum_clobbers);

    case 2:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6426; /* *aarch64_cond_sabdvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6446; /* *aarch64_cond_sabdvnx16qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6466; /* *aarch64_cond_sabdvnx16qi_any */

    case 3:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6428; /* *aarch64_cond_sabdvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6448; /* *aarch64_cond_sabdvnx8qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6468; /* *aarch64_cond_sabdvnx8qi_any */

    case 4:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6430; /* *aarch64_cond_sabdvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6450; /* *aarch64_cond_sabdvnx4qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6470; /* *aarch64_cond_sabdvnx4qi_any */

    case 5:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6432; /* *aarch64_cond_sabdvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6452; /* *aarch64_cond_sabdvnx2qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6472; /* *aarch64_cond_sabdvnx2qi_any */

    case 6:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6434; /* *aarch64_cond_sabdvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6454; /* *aarch64_cond_sabdvnx8hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6474; /* *aarch64_cond_sabdvnx8hi_any */

    case 7:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6436; /* *aarch64_cond_sabdvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6456; /* *aarch64_cond_sabdvnx4hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6476; /* *aarch64_cond_sabdvnx4hi_any */

    case 8:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6438; /* *aarch64_cond_sabdvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6458; /* *aarch64_cond_sabdvnx2hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6478; /* *aarch64_cond_sabdvnx2hi_any */

    case 9:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6440; /* *aarch64_cond_sabdvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6460; /* *aarch64_cond_sabdvnx4si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6480; /* *aarch64_cond_sabdvnx4si_any */

    case 10:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6442; /* *aarch64_cond_sabdvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6462; /* *aarch64_cond_sabdvnx2si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6482; /* *aarch64_cond_sabdvnx2si_any */

    case 11:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6444; /* *aarch64_cond_sabdvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6464; /* *aarch64_cond_sabdvnx2di_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6484; /* *aarch64_cond_sabdvnx2di_any */

    case 12:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6427; /* *aarch64_cond_uabdvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6447; /* *aarch64_cond_uabdvnx16qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6467; /* *aarch64_cond_uabdvnx16qi_any */

    case 13:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6429; /* *aarch64_cond_uabdvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6449; /* *aarch64_cond_uabdvnx8qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6469; /* *aarch64_cond_uabdvnx8qi_any */

    case 14:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6431; /* *aarch64_cond_uabdvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6451; /* *aarch64_cond_uabdvnx4qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6471; /* *aarch64_cond_uabdvnx4qi_any */

    case 15:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6433; /* *aarch64_cond_uabdvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6453; /* *aarch64_cond_uabdvnx2qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6473; /* *aarch64_cond_uabdvnx2qi_any */

    case 16:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6435; /* *aarch64_cond_uabdvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6455; /* *aarch64_cond_uabdvnx8hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6475; /* *aarch64_cond_uabdvnx8hi_any */

    case 17:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6437; /* *aarch64_cond_uabdvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6457; /* *aarch64_cond_uabdvnx4hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6477; /* *aarch64_cond_uabdvnx4hi_any */

    case 18:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6439; /* *aarch64_cond_uabdvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6459; /* *aarch64_cond_uabdvnx2hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6479; /* *aarch64_cond_uabdvnx2hi_any */

    case 19:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6441; /* *aarch64_cond_uabdvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6461; /* *aarch64_cond_uabdvnx4si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6481; /* *aarch64_cond_uabdvnx4si_any */

    case 20:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6443; /* *aarch64_cond_uabdvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6463; /* *aarch64_cond_uabdvnx2si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6483; /* *aarch64_cond_uabdvnx2si_any */

    case 21:
      x5 = XVECEXP (x2, 0, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[4] = x7;
      x8 = XEXP (x5, 1);
      x9 = XVECEXP (x8, 0, 0);
      operands[5] = x9;
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6445; /* *aarch64_cond_uabdvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6465; /* *aarch64_cond_uabdvnx2di_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6485; /* *aarch64_cond_uabdvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_294 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[2] = x5;
      x6 = XEXP (x4, 1);
      operands[3] = x6;
      switch (GET_CODE (operands[3]))
        {
        case CONST_VECTOR:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern712 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5524; /* *cond_uxtvnx16qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5534; /* *cond_uxtvnx16qi_any */

            case E_VNx8QImode:
              if (pattern712 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5525; /* *cond_uxtvnx8qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5535; /* *cond_uxtvnx8qi_any */

            case E_VNx4QImode:
              if (pattern712 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5526; /* *cond_uxtvnx4qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5536; /* *cond_uxtvnx4qi_any */

            case E_VNx2QImode:
              if (pattern712 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5527; /* *cond_uxtvnx2qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5537; /* *cond_uxtvnx2qi_any */

            case E_VNx8HImode:
              if (pattern712 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5528; /* *cond_uxtvnx8hi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5538; /* *cond_uxtvnx8hi_any */

            case E_VNx4HImode:
              if (pattern712 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5529; /* *cond_uxtvnx4hi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5539; /* *cond_uxtvnx4hi_any */

            case E_VNx2HImode:
              if (pattern712 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5530; /* *cond_uxtvnx2hi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5540; /* *cond_uxtvnx2hi_any */

            case E_VNx4SImode:
              if (pattern712 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5531; /* *cond_uxtvnx4si_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5541; /* *cond_uxtvnx4si_any */

            case E_VNx2SImode:
              if (pattern712 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5532; /* *cond_uxtvnx2si_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5542; /* *cond_uxtvnx2si_any */

            case E_VNx2DImode:
              if (pattern712 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5533; /* *cond_uxtvnx2di_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 3170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5543; /* *cond_uxtvnx2di_any */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern318 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5872; /* *cond_andvnx16qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6042; /* *cond_andvnx16qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6212; /* *cond_andvnx16qi_any */

            case E_VNx8QImode:
              if (pattern318 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5889; /* *cond_andvnx8qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6059; /* *cond_andvnx8qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6229; /* *cond_andvnx8qi_any */

            case E_VNx4QImode:
              if (pattern318 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5906; /* *cond_andvnx4qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6076; /* *cond_andvnx4qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6246; /* *cond_andvnx4qi_any */

            case E_VNx2QImode:
              if (pattern318 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5923; /* *cond_andvnx2qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6093; /* *cond_andvnx2qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6263; /* *cond_andvnx2qi_any */

            case E_VNx8HImode:
              if (pattern318 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5940; /* *cond_andvnx8hi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6110; /* *cond_andvnx8hi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6280; /* *cond_andvnx8hi_any */

            case E_VNx4HImode:
              if (pattern318 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5957; /* *cond_andvnx4hi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6127; /* *cond_andvnx4hi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6297; /* *cond_andvnx4hi_any */

            case E_VNx2HImode:
              if (pattern318 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5974; /* *cond_andvnx2hi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6144; /* *cond_andvnx2hi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6314; /* *cond_andvnx2hi_any */

            case E_VNx4SImode:
              if (pattern318 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5991; /* *cond_andvnx4si_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6161; /* *cond_andvnx4si_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6331; /* *cond_andvnx4si_any */

            case E_VNx2SImode:
              if (pattern318 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6008; /* *cond_andvnx2si_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6178; /* *cond_andvnx2si_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6348; /* *cond_andvnx2si_any */

            case E_VNx2DImode:
              if (pattern318 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6025; /* *cond_andvnx2di_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6195; /* *cond_andvnx2di_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6365; /* *cond_andvnx2di_any */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NOT:
      x8 = XEXP (x5, 0);
      operands[3] = x8;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern676 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6594; /* *cond_bicvnx16qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6604; /* *cond_bicvnx16qi_any */

        case E_VNx8QImode:
          if (pattern676 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6595; /* *cond_bicvnx8qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6605; /* *cond_bicvnx8qi_any */

        case E_VNx4QImode:
          if (pattern676 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6596; /* *cond_bicvnx4qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6606; /* *cond_bicvnx4qi_any */

        case E_VNx2QImode:
          if (pattern676 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6597; /* *cond_bicvnx2qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6607; /* *cond_bicvnx2qi_any */

        case E_VNx8HImode:
          if (pattern676 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6598; /* *cond_bicvnx8hi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6608; /* *cond_bicvnx8hi_any */

        case E_VNx4HImode:
          if (pattern676 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6599; /* *cond_bicvnx4hi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6609; /* *cond_bicvnx4hi_any */

        case E_VNx2HImode:
          if (pattern676 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6600; /* *cond_bicvnx2hi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6610; /* *cond_bicvnx2hi_any */

        case E_VNx4SImode:
          if (pattern676 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6601; /* *cond_bicvnx4si_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6611; /* *cond_bicvnx4si_any */

        case E_VNx2SImode:
          if (pattern676 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6602; /* *cond_bicvnx2si_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6612; /* *cond_bicvnx2si_any */

        case E_VNx2DImode:
          if (pattern676 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6603; /* *cond_bicvnx2di_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6613; /* *cond_bicvnx2di_any */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_295 (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;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_QImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx16QImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5104; /* sve_ld1rvnx16qi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_QImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx16QImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7597; /* aarch64_sel_dupvnx16qi */

    case E_VNx8QImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_QImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx8QImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5105; /* sve_ld1rvnx8qi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_QImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx8QImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7598; /* aarch64_sel_dupvnx8qi */

    case E_VNx4QImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_QImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx4QImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5106; /* sve_ld1rvnx4qi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_QImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx4QImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7599; /* aarch64_sel_dupvnx4qi */

    case E_VNx2QImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_QImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2QImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5107; /* sve_ld1rvnx2qi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_QImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2QImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7600; /* aarch64_sel_dupvnx2qi */

    case E_VNx8HImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_HImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx8HImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5108; /* sve_ld1rvnx8hi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_HImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx8HImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7601; /* aarch64_sel_dupvnx8hi */

    case E_VNx4HImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_HImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx4HImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5109; /* sve_ld1rvnx4hi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_HImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx4HImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7602; /* aarch64_sel_dupvnx4hi */

    case E_VNx2HImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_HImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2HImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5110; /* sve_ld1rvnx2hi */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_HImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2HImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7603; /* aarch64_sel_dupvnx2hi */

    case E_VNx8HFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_HFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx8HFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5111; /* sve_ld1rvnx8hf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_HFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx8HFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7604; /* aarch64_sel_dupvnx8hf */

    case E_VNx4HFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx4HFmode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_HFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx4HFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5112; /* sve_ld1rvnx4hf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_HFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx4HFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7605; /* aarch64_sel_dupvnx4hf */

    case E_VNx2HFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2HFmode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_HFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2HFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5113; /* sve_ld1rvnx2hf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_HFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2HFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7606; /* aarch64_sel_dupvnx2hf */

    case E_VNx8BFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx8BFmode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_BFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx8BFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5114; /* sve_ld1rvnx8bf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_BFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx8BFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7607; /* aarch64_sel_dupvnx8bf */

    case E_VNx4BFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx4BFmode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_BFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx4BFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5115; /* sve_ld1rvnx4bf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_BFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx4BFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7608; /* aarch64_sel_dupvnx4bf */

    case E_VNx2BFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2BFmode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_BFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2BFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5116; /* sve_ld1rvnx2bf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_BFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2BFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7609; /* aarch64_sel_dupvnx2bf */

    case E_VNx4SImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_SImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx4SImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5117; /* sve_ld1rvnx4si */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx4SImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7610; /* aarch64_sel_dupvnx4si */

    case E_VNx2SImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_SImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2SImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5118; /* sve_ld1rvnx2si */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2SImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7611; /* aarch64_sel_dupvnx2si */

    case E_VNx4SFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_SFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx4SFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5119; /* sve_ld1rvnx4sf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_SFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx4SFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7612; /* aarch64_sel_dupvnx4sf */

    case E_VNx2SFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2SFmode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_SFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2SFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5120; /* sve_ld1rvnx2sf */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_SFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2SFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7613; /* aarch64_sel_dupvnx2sf */

    case E_VNx2DImode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_DImode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2DImode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5121; /* sve_ld1rvnx2di */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2DImode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7614; /* aarch64_sel_dupvnx2di */

    case E_VNx2DFmode:
      x2 = XEXP (x1, 1);
      if (pattern492 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      if (aarch64_sve_ld1r_operand (operands[2], E_DFmode))
        {
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (aarch64_simd_imm_zero (operands[3], E_VNx2DFmode)
              && 
#line 2579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5122; /* sve_ld1rvnx2df */
        }
      operands[3] = x3;
      operands[1] = x5;
      if (!register_operand (operands[1], E_DFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!aarch64_simd_reg_or_zero (operands[2], E_VNx2DFmode)
          || !
#line 7628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7615; /* aarch64_sel_dupvnx2df */

    default:
      return -1;
    }
}

static int
recog_296 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      switch (pattern493 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5862; /* *cond_addvnx16qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6032; /* *cond_addvnx16qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6202; /* *cond_addvnx16qi_any */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5879; /* *cond_addvnx8qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6049; /* *cond_addvnx8qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6219; /* *cond_addvnx8qi_any */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5896; /* *cond_addvnx4qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6066; /* *cond_addvnx4qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6236; /* *cond_addvnx4qi_any */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5913; /* *cond_addvnx2qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6083; /* *cond_addvnx2qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6253; /* *cond_addvnx2qi_any */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5930; /* *cond_addvnx8hi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6100; /* *cond_addvnx8hi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6270; /* *cond_addvnx8hi_any */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5947; /* *cond_addvnx4hi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6117; /* *cond_addvnx4hi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6287; /* *cond_addvnx4hi_any */

        case 6:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5964; /* *cond_addvnx2hi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6134; /* *cond_addvnx2hi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6304; /* *cond_addvnx2hi_any */

        case 7:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5981; /* *cond_addvnx4si_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6151; /* *cond_addvnx4si_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6321; /* *cond_addvnx4si_any */

        case 8:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5998; /* *cond_addvnx2si_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6168; /* *cond_addvnx2si_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6338; /* *cond_addvnx2si_any */

        case 9:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6015; /* *cond_addvnx2di_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6185; /* *cond_addvnx2di_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6355; /* *cond_addvnx2di_any */

        default:
          return -1;
        }

    case MULT:
      x7 = XEXP (x5, 0);
      operands[2] = x7;
      x8 = XEXP (x5, 1);
      operands[3] = x8;
      x9 = XEXP (x4, 1);
      operands[4] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern713 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7324; /* *cond_fmavnx16qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7334; /* *cond_fmavnx16qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx16QImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7344; /* *cond_fmavnx16qi_any */

        case E_VNx8QImode:
          if (pattern713 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7325; /* *cond_fmavnx8qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7335; /* *cond_fmavnx8qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8QImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7345; /* *cond_fmavnx8qi_any */

        case E_VNx4QImode:
          if (pattern713 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7326; /* *cond_fmavnx4qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7336; /* *cond_fmavnx4qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4QImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7346; /* *cond_fmavnx4qi_any */

        case E_VNx2QImode:
          if (pattern713 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7327; /* *cond_fmavnx2qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7337; /* *cond_fmavnx2qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2QImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7347; /* *cond_fmavnx2qi_any */

        case E_VNx8HImode:
          if (pattern713 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7328; /* *cond_fmavnx8hi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7338; /* *cond_fmavnx8hi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7348; /* *cond_fmavnx8hi_any */

        case E_VNx4HImode:
          if (pattern713 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7329; /* *cond_fmavnx4hi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7339; /* *cond_fmavnx4hi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4HImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7349; /* *cond_fmavnx4hi_any */

        case E_VNx2HImode:
          if (pattern713 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7330; /* *cond_fmavnx2hi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7340; /* *cond_fmavnx2hi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2HImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7350; /* *cond_fmavnx2hi_any */

        case E_VNx4SImode:
          if (pattern713 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7331; /* *cond_fmavnx4si_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7341; /* *cond_fmavnx4si_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7351; /* *cond_fmavnx4si_any */

        case E_VNx2SImode:
          if (pattern713 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7332; /* *cond_fmavnx2si_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7342; /* *cond_fmavnx2si_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2SImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7352; /* *cond_fmavnx2si_any */

        case E_VNx2DImode:
          if (pattern713 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7333; /* *cond_fmavnx2di_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7343; /* *cond_fmavnx2di_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DImode)
              || !
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7353; /* *cond_fmavnx2di_any */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_297 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern318 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5869; /* *cond_ashlvnx16qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6039; /* *cond_ashlvnx16qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6209; /* *cond_ashlvnx16qi_any */

        case E_VNx8QImode:
          if (pattern318 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5886; /* *cond_ashlvnx8qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6056; /* *cond_ashlvnx8qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6226; /* *cond_ashlvnx8qi_any */

        case E_VNx4QImode:
          if (pattern318 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5903; /* *cond_ashlvnx4qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6073; /* *cond_ashlvnx4qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6243; /* *cond_ashlvnx4qi_any */

        case E_VNx2QImode:
          if (pattern318 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5920; /* *cond_ashlvnx2qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6090; /* *cond_ashlvnx2qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6260; /* *cond_ashlvnx2qi_any */

        case E_VNx8HImode:
          if (pattern318 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5937; /* *cond_ashlvnx8hi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6107; /* *cond_ashlvnx8hi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6277; /* *cond_ashlvnx8hi_any */

        case E_VNx4HImode:
          if (pattern318 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5954; /* *cond_ashlvnx4hi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6124; /* *cond_ashlvnx4hi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6294; /* *cond_ashlvnx4hi_any */

        case E_VNx2HImode:
          if (pattern318 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5971; /* *cond_ashlvnx2hi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6141; /* *cond_ashlvnx2hi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6311; /* *cond_ashlvnx2hi_any */

        case E_VNx4SImode:
          if (pattern318 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5988; /* *cond_ashlvnx4si_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6158; /* *cond_ashlvnx4si_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6328; /* *cond_ashlvnx4si_any */

        case E_VNx2SImode:
          if (pattern318 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6005; /* *cond_ashlvnx2si_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6175; /* *cond_ashlvnx2si_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6345; /* *cond_ashlvnx2si_any */

        case E_VNx2DImode:
          if (pattern318 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6022; /* *cond_ashlvnx2di_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6192; /* *cond_ashlvnx2di_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 6362; /* *cond_ashlvnx2di_any */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern677 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6674; /* *cond_ashlvnx16qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6704; /* *cond_ashlvnx16qi_any_const */

        case E_VNx8QImode:
          if (pattern677 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6677; /* *cond_ashlvnx8qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6707; /* *cond_ashlvnx8qi_any_const */

        case E_VNx4QImode:
          if (pattern677 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6680; /* *cond_ashlvnx4qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6710; /* *cond_ashlvnx4qi_any_const */

        case E_VNx2QImode:
          if (pattern677 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6683; /* *cond_ashlvnx2qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6713; /* *cond_ashlvnx2qi_any_const */

        case E_VNx8HImode:
          if (pattern677 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6686; /* *cond_ashlvnx8hi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6716; /* *cond_ashlvnx8hi_any_const */

        case E_VNx4HImode:
          if (pattern677 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6689; /* *cond_ashlvnx4hi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6719; /* *cond_ashlvnx4hi_any_const */

        case E_VNx2HImode:
          if (pattern677 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6692; /* *cond_ashlvnx2hi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6722; /* *cond_ashlvnx2hi_any_const */

        case E_VNx4SImode:
          if (pattern677 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6695; /* *cond_ashlvnx4si_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6725; /* *cond_ashlvnx4si_any_const */

        case E_VNx2SImode:
          if (pattern677 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6698; /* *cond_ashlvnx2si_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6728; /* *cond_ashlvnx2si_any_const */

        case E_VNx2DImode:
          if (pattern677 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6701; /* *cond_ashlvnx2di_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6731; /* *cond_ashlvnx2di_any_const */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_298 (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);
  switch (pattern430 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5870; /* *cond_ashrvnx16qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6040; /* *cond_ashrvnx16qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6210; /* *cond_ashrvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5887; /* *cond_ashrvnx8qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6057; /* *cond_ashrvnx8qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6227; /* *cond_ashrvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5904; /* *cond_ashrvnx4qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6074; /* *cond_ashrvnx4qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6244; /* *cond_ashrvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5921; /* *cond_ashrvnx2qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6091; /* *cond_ashrvnx2qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6261; /* *cond_ashrvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5938; /* *cond_ashrvnx8hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6108; /* *cond_ashrvnx8hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6278; /* *cond_ashrvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5955; /* *cond_ashrvnx4hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6125; /* *cond_ashrvnx4hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6295; /* *cond_ashrvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5972; /* *cond_ashrvnx2hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6142; /* *cond_ashrvnx2hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6312; /* *cond_ashrvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5989; /* *cond_ashrvnx4si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6159; /* *cond_ashrvnx4si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6329; /* *cond_ashrvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6006; /* *cond_ashrvnx2si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6176; /* *cond_ashrvnx2si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6346; /* *cond_ashrvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6023; /* *cond_ashrvnx2di_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6193; /* *cond_ashrvnx2di_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6363; /* *cond_ashrvnx2di_any */

    case 10:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6675; /* *cond_ashrvnx16qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6705; /* *cond_ashrvnx16qi_any_const */

    case 11:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6678; /* *cond_ashrvnx8qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6708; /* *cond_ashrvnx8qi_any_const */

    case 12:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6681; /* *cond_ashrvnx4qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6711; /* *cond_ashrvnx4qi_any_const */

    case 13:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6684; /* *cond_ashrvnx2qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6714; /* *cond_ashrvnx2qi_any_const */

    case 14:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6687; /* *cond_ashrvnx8hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6717; /* *cond_ashrvnx8hi_any_const */

    case 15:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6690; /* *cond_ashrvnx4hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6720; /* *cond_ashrvnx4hi_any_const */

    case 16:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6693; /* *cond_ashrvnx2hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6723; /* *cond_ashrvnx2hi_any_const */

    case 17:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6696; /* *cond_ashrvnx4si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6726; /* *cond_ashrvnx4si_any_const */

    case 18:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6699; /* *cond_ashrvnx2si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6729; /* *cond_ashrvnx2si_any_const */

    case 19:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6702; /* *cond_ashrvnx2di_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6732; /* *cond_ashrvnx2di_any_const */

    default:
      return -1;
    }
}

static int
recog_299 (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);
  switch (pattern430 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5871; /* *cond_lshrvnx16qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6041; /* *cond_lshrvnx16qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6211; /* *cond_lshrvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5888; /* *cond_lshrvnx8qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6058; /* *cond_lshrvnx8qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6228; /* *cond_lshrvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5905; /* *cond_lshrvnx4qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6075; /* *cond_lshrvnx4qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6245; /* *cond_lshrvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5922; /* *cond_lshrvnx2qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6092; /* *cond_lshrvnx2qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6262; /* *cond_lshrvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5939; /* *cond_lshrvnx8hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6109; /* *cond_lshrvnx8hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6279; /* *cond_lshrvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5956; /* *cond_lshrvnx4hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6126; /* *cond_lshrvnx4hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6296; /* *cond_lshrvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5973; /* *cond_lshrvnx2hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6143; /* *cond_lshrvnx2hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6313; /* *cond_lshrvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5990; /* *cond_lshrvnx4si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6160; /* *cond_lshrvnx4si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6330; /* *cond_lshrvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6007; /* *cond_lshrvnx2si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6177; /* *cond_lshrvnx2si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6347; /* *cond_lshrvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6024; /* *cond_lshrvnx2di_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6194; /* *cond_lshrvnx2di_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6364; /* *cond_lshrvnx2di_any */

    case 10:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6676; /* *cond_lshrvnx16qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6706; /* *cond_lshrvnx16qi_any_const */

    case 11:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6679; /* *cond_lshrvnx8qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6709; /* *cond_lshrvnx8qi_any_const */

    case 12:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6682; /* *cond_lshrvnx4qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6712; /* *cond_lshrvnx4qi_any_const */

    case 13:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6685; /* *cond_lshrvnx2qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6715; /* *cond_lshrvnx2qi_any_const */

    case 14:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6688; /* *cond_lshrvnx8hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6718; /* *cond_lshrvnx8hi_any_const */

    case 15:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6691; /* *cond_lshrvnx4hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6721; /* *cond_lshrvnx4hi_any_const */

    case 16:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6694; /* *cond_lshrvnx2hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6724; /* *cond_lshrvnx2hi_any_const */

    case 17:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6697; /* *cond_lshrvnx4si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6727; /* *cond_lshrvnx4si_any_const */

    case 18:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6700; /* *cond_lshrvnx2si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6730; /* *cond_lshrvnx2si_any_const */

    case 19:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6703; /* *cond_lshrvnx2di_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6733; /* *cond_lshrvnx2di_any_const */

    default:
      return -1;
    }
}

static int
recog_300 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  switch (XVECLEN (x4, 0))
    {
    case 1:
      x5 = XVECEXP (x4, 0, 0);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      switch (XINT (x4, 1))
        {
        case 66:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern709 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
                return -1;
              return 5482; /* cond_rbitvnx16qi */

            case E_VNx8HImode:
              if (pattern709 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 8))
                return -1;
              return 5483; /* cond_rbitvnx8hi */

            case E_VNx4SImode:
              if (pattern709 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 8))
                return -1;
              return 5485; /* cond_rbitvnx4si */

            case E_VNx2DImode:
              if (pattern709 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
                return -1;
              return 5488; /* cond_rbitvnx2di */

            default:
              return -1;
            }

        case 300:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern709 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return -1;
              return 5484; /* cond_revbvnx8hi */

            case E_VNx4SImode:
              if (pattern709 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return -1;
              return 5486; /* cond_revbvnx4si */

            case E_VNx2DImode:
              if (pattern709 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return -1;
              return 5489; /* cond_revbvnx2di */

            default:
              return -1;
            }

        case 301:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SImode:
              if (pattern709 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return -1;
              return 5487; /* cond_revhvnx4si */

            case E_VNx2DImode:
              if (pattern709 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return -1;
              return 5490; /* cond_revhvnx2di */

            default:
              return -1;
            }

        case 302:
          if (GET_MODE (x4) != E_VNx2DImode
              || !register_operand (operands[0], E_VNx2DImode)
              || GET_MODE (x2) != E_VNx2DImode
              || !register_operand (operands[1], E_VNx2BImode)
              || !register_operand (operands[2], E_VNx2DImode)
              || !aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
              || !
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
            return -1;
          return 5491; /* cond_revwvnx2di */

        default:
          return -1;
        }

    case 3:
      return recog_289 (x1, insn, pnum_clobbers);

    case 2:
      switch (XINT (x4, 1))
        {
        case 304:
          switch (pattern584 (x2))
            {
            case 0:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6522; /* *cond_smulhvnx16qi_2 */

            case 1:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6524; /* *cond_smulhvnx8hi_2 */

            case 2:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6526; /* *cond_smulhvnx4si_2 */

            case 3:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6528; /* *cond_smulhvnx2di_2 */

            case 4:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6530; /* *cond_smulhvnx16qi_z */

            case 5:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6532; /* *cond_smulhvnx8hi_z */

            case 6:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6534; /* *cond_smulhvnx4si_z */

            case 7:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6536; /* *cond_smulhvnx2di_z */

            default:
              return -1;
            }

        case 305:
          switch (pattern584 (x2))
            {
            case 0:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6523; /* *cond_umulhvnx16qi_2 */

            case 1:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6525; /* *cond_umulhvnx8hi_2 */

            case 2:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6527; /* *cond_umulhvnx4si_2 */

            case 3:
              if (!
#line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6529; /* *cond_umulhvnx2di_2 */

            case 4:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6531; /* *cond_umulhvnx16qi_z */

            case 5:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6533; /* *cond_umulhvnx8hi_z */

            case 6:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6535; /* *cond_umulhvnx4si_z */

            case 7:
              if (!
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6537; /* *cond_umulhvnx2di_z */

            default:
              return -1;
            }

        case 378:
          switch (pattern587 (x2))
            {
            case 0:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6743; /* *cond_lslvnx16qi_m */

            case 1:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6746; /* *cond_lslvnx8hi_m */

            case 2:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6749; /* *cond_lslvnx4si_m */

            case 3:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6752; /* *cond_lslvnx16qi_z */

            case 4:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6755; /* *cond_lslvnx8hi_z */

            case 5:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6758; /* *cond_lslvnx4si_z */

            default:
              return -1;
            }

        case 379:
          switch (pattern587 (x2))
            {
            case 0:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6744; /* *cond_asrvnx16qi_m */

            case 1:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6747; /* *cond_asrvnx8hi_m */

            case 2:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6750; /* *cond_asrvnx4si_m */

            case 3:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6753; /* *cond_asrvnx16qi_z */

            case 4:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6756; /* *cond_asrvnx8hi_z */

            case 5:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6759; /* *cond_asrvnx4si_z */

            default:
              return -1;
            }

        case 380:
          switch (pattern587 (x2))
            {
            case 0:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6745; /* *cond_lsrvnx16qi_m */

            case 1:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6748; /* *cond_lsrvnx8hi_m */

            case 2:
              if (!
#line 4692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6751; /* *cond_lsrvnx4si_m */

            case 3:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6754; /* *cond_lsrvnx16qi_z */

            case 4:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6757; /* *cond_lsrvnx8hi_z */

            case 5:
              if (!
#line 4709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6760; /* *cond_lsrvnx4si_z */

            default:
              return -1;
            }

        case 118:
          return recog_279 (x1, insn, pnum_clobbers);

        default:
          return -1;
        }

    case 4:
      return recog_291 (x1, insn, pnum_clobbers);

    case 5:
      return recog_290 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_301 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5878; /* *cond_ussubvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6048; /* *cond_ussubvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6218; /* *cond_ussubvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5895; /* *cond_ussubvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6065; /* *cond_ussubvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6235; /* *cond_ussubvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5912; /* *cond_ussubvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6082; /* *cond_ussubvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6252; /* *cond_ussubvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5929; /* *cond_ussubvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6099; /* *cond_ussubvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6269; /* *cond_ussubvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5946; /* *cond_ussubvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6116; /* *cond_ussubvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6286; /* *cond_ussubvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5963; /* *cond_ussubvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6133; /* *cond_ussubvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6303; /* *cond_ussubvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5980; /* *cond_ussubvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6150; /* *cond_ussubvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6320; /* *cond_ussubvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5997; /* *cond_ussubvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6167; /* *cond_ussubvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6337; /* *cond_ussubvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6014; /* *cond_ussubvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6184; /* *cond_ussubvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6354; /* *cond_ussubvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6031; /* *cond_ussubvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6201; /* *cond_ussubvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6371; /* *cond_ussubvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_302 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5877; /* *cond_sssubvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6047; /* *cond_sssubvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6217; /* *cond_sssubvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5894; /* *cond_sssubvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6064; /* *cond_sssubvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6234; /* *cond_sssubvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5911; /* *cond_sssubvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6081; /* *cond_sssubvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6251; /* *cond_sssubvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5928; /* *cond_sssubvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6098; /* *cond_sssubvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6268; /* *cond_sssubvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5945; /* *cond_sssubvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6115; /* *cond_sssubvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6285; /* *cond_sssubvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5962; /* *cond_sssubvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6132; /* *cond_sssubvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6302; /* *cond_sssubvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5979; /* *cond_sssubvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6149; /* *cond_sssubvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6319; /* *cond_sssubvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5996; /* *cond_sssubvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6166; /* *cond_sssubvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6336; /* *cond_sssubvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6013; /* *cond_sssubvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6183; /* *cond_sssubvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6353; /* *cond_sssubvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6030; /* *cond_sssubvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6200; /* *cond_sssubvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6370; /* *cond_sssubvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_303 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5876; /* *cond_usaddvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6046; /* *cond_usaddvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6216; /* *cond_usaddvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5893; /* *cond_usaddvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6063; /* *cond_usaddvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6233; /* *cond_usaddvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5910; /* *cond_usaddvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6080; /* *cond_usaddvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6250; /* *cond_usaddvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5927; /* *cond_usaddvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6097; /* *cond_usaddvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6267; /* *cond_usaddvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5944; /* *cond_usaddvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6114; /* *cond_usaddvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6284; /* *cond_usaddvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5961; /* *cond_usaddvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6131; /* *cond_usaddvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6301; /* *cond_usaddvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5978; /* *cond_usaddvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6148; /* *cond_usaddvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6318; /* *cond_usaddvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5995; /* *cond_usaddvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6165; /* *cond_usaddvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6335; /* *cond_usaddvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6012; /* *cond_usaddvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6182; /* *cond_usaddvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6352; /* *cond_usaddvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6029; /* *cond_usaddvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6199; /* *cond_usaddvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6369; /* *cond_usaddvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_304 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5875; /* *cond_ssaddvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6045; /* *cond_ssaddvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6215; /* *cond_ssaddvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5892; /* *cond_ssaddvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6062; /* *cond_ssaddvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6232; /* *cond_ssaddvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5909; /* *cond_ssaddvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6079; /* *cond_ssaddvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6249; /* *cond_ssaddvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5926; /* *cond_ssaddvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6096; /* *cond_ssaddvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6266; /* *cond_ssaddvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5943; /* *cond_ssaddvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6113; /* *cond_ssaddvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6283; /* *cond_ssaddvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5960; /* *cond_ssaddvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6130; /* *cond_ssaddvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6300; /* *cond_ssaddvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5977; /* *cond_ssaddvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6147; /* *cond_ssaddvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6317; /* *cond_ssaddvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5994; /* *cond_ssaddvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6164; /* *cond_ssaddvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6334; /* *cond_ssaddvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6011; /* *cond_ssaddvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6181; /* *cond_ssaddvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6351; /* *cond_ssaddvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6028; /* *cond_ssaddvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6198; /* *cond_ssaddvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6368; /* *cond_ssaddvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_305 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5874; /* *cond_xorvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6044; /* *cond_xorvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6214; /* *cond_xorvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5891; /* *cond_xorvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6061; /* *cond_xorvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6231; /* *cond_xorvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5908; /* *cond_xorvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6078; /* *cond_xorvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6248; /* *cond_xorvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5925; /* *cond_xorvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6095; /* *cond_xorvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6265; /* *cond_xorvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5942; /* *cond_xorvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6112; /* *cond_xorvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6282; /* *cond_xorvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5959; /* *cond_xorvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6129; /* *cond_xorvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6299; /* *cond_xorvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5976; /* *cond_xorvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6146; /* *cond_xorvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6316; /* *cond_xorvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5993; /* *cond_xorvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6163; /* *cond_xorvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6333; /* *cond_xorvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6010; /* *cond_xorvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6180; /* *cond_xorvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6350; /* *cond_xorvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6027; /* *cond_xorvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6197; /* *cond_xorvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6367; /* *cond_xorvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_306 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5873; /* *cond_iorvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6043; /* *cond_iorvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6213; /* *cond_iorvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5890; /* *cond_iorvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6060; /* *cond_iorvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6230; /* *cond_iorvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5907; /* *cond_iorvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6077; /* *cond_iorvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6247; /* *cond_iorvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5924; /* *cond_iorvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6094; /* *cond_iorvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6264; /* *cond_iorvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5941; /* *cond_iorvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6111; /* *cond_iorvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6281; /* *cond_iorvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5958; /* *cond_iorvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6128; /* *cond_iorvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6298; /* *cond_iorvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5975; /* *cond_iorvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6145; /* *cond_iorvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6315; /* *cond_iorvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5992; /* *cond_iorvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6162; /* *cond_iorvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6332; /* *cond_iorvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6009; /* *cond_iorvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6179; /* *cond_iorvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6349; /* *cond_iorvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6026; /* *cond_iorvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6196; /* *cond_iorvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6366; /* *cond_iorvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_307 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5868; /* *cond_uminvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6038; /* *cond_uminvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6208; /* *cond_uminvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5885; /* *cond_uminvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6055; /* *cond_uminvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6225; /* *cond_uminvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5902; /* *cond_uminvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6072; /* *cond_uminvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6242; /* *cond_uminvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5919; /* *cond_uminvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6089; /* *cond_uminvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6259; /* *cond_uminvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5936; /* *cond_uminvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6106; /* *cond_uminvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6276; /* *cond_uminvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5953; /* *cond_uminvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6123; /* *cond_uminvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6293; /* *cond_uminvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5970; /* *cond_uminvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6140; /* *cond_uminvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6310; /* *cond_uminvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5987; /* *cond_uminvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6157; /* *cond_uminvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6327; /* *cond_uminvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6004; /* *cond_uminvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6174; /* *cond_uminvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6344; /* *cond_uminvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6021; /* *cond_uminvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6191; /* *cond_uminvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6361; /* *cond_uminvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_308 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5867; /* *cond_sminvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6037; /* *cond_sminvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6207; /* *cond_sminvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5884; /* *cond_sminvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6054; /* *cond_sminvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6224; /* *cond_sminvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5901; /* *cond_sminvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6071; /* *cond_sminvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6241; /* *cond_sminvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5918; /* *cond_sminvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6088; /* *cond_sminvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6258; /* *cond_sminvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5935; /* *cond_sminvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6105; /* *cond_sminvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6275; /* *cond_sminvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5952; /* *cond_sminvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6122; /* *cond_sminvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6292; /* *cond_sminvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5969; /* *cond_sminvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6139; /* *cond_sminvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6309; /* *cond_sminvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5986; /* *cond_sminvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6156; /* *cond_sminvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6326; /* *cond_sminvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6003; /* *cond_sminvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6173; /* *cond_sminvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6343; /* *cond_sminvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6020; /* *cond_sminvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6190; /* *cond_sminvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6360; /* *cond_sminvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_309 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5866; /* *cond_umaxvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6036; /* *cond_umaxvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6206; /* *cond_umaxvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5883; /* *cond_umaxvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6053; /* *cond_umaxvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6223; /* *cond_umaxvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5900; /* *cond_umaxvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6070; /* *cond_umaxvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6240; /* *cond_umaxvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5917; /* *cond_umaxvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6087; /* *cond_umaxvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6257; /* *cond_umaxvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5934; /* *cond_umaxvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6104; /* *cond_umaxvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6274; /* *cond_umaxvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5951; /* *cond_umaxvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6121; /* *cond_umaxvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6291; /* *cond_umaxvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5968; /* *cond_umaxvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6138; /* *cond_umaxvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6308; /* *cond_umaxvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5985; /* *cond_umaxvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6155; /* *cond_umaxvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6325; /* *cond_umaxvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6002; /* *cond_umaxvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6172; /* *cond_umaxvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6342; /* *cond_umaxvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6019; /* *cond_umaxvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6189; /* *cond_umaxvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6359; /* *cond_umaxvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_310 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5865; /* *cond_smaxvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6035; /* *cond_smaxvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6205; /* *cond_smaxvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5882; /* *cond_smaxvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6052; /* *cond_smaxvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6222; /* *cond_smaxvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5899; /* *cond_smaxvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6069; /* *cond_smaxvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6239; /* *cond_smaxvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5916; /* *cond_smaxvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6086; /* *cond_smaxvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6256; /* *cond_smaxvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5933; /* *cond_smaxvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6103; /* *cond_smaxvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6273; /* *cond_smaxvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5950; /* *cond_smaxvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6120; /* *cond_smaxvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6290; /* *cond_smaxvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5967; /* *cond_smaxvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6137; /* *cond_smaxvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6307; /* *cond_smaxvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5984; /* *cond_smaxvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6154; /* *cond_smaxvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6324; /* *cond_smaxvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6001; /* *cond_smaxvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6171; /* *cond_smaxvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6341; /* *cond_smaxvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6018; /* *cond_smaxvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6188; /* *cond_smaxvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6358; /* *cond_smaxvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_311 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern493 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5864; /* *cond_mulvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6034; /* *cond_mulvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6204; /* *cond_mulvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5881; /* *cond_mulvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6051; /* *cond_mulvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6221; /* *cond_mulvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5898; /* *cond_mulvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6068; /* *cond_mulvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6238; /* *cond_mulvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5915; /* *cond_mulvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6085; /* *cond_mulvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6255; /* *cond_mulvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5932; /* *cond_mulvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6102; /* *cond_mulvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6272; /* *cond_mulvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5949; /* *cond_mulvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6119; /* *cond_mulvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6289; /* *cond_mulvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5966; /* *cond_mulvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6136; /* *cond_mulvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6306; /* *cond_mulvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5983; /* *cond_mulvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6153; /* *cond_mulvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6323; /* *cond_mulvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6000; /* *cond_mulvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6170; /* *cond_mulvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6340; /* *cond_mulvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6017; /* *cond_mulvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6187; /* *cond_mulvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
        return -1;
      return 6357; /* *cond_mulvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_312 (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);
  switch (pattern313 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5301; /* *cond_qabsvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5381; /* *cond_qabsvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5309; /* *cond_qabsvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5389; /* *cond_qabsvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5317; /* *cond_qabsvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5397; /* *cond_qabsvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5325; /* *cond_qabsvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5405; /* *cond_qabsvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5333; /* *cond_qabsvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5413; /* *cond_qabsvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5341; /* *cond_qabsvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5421; /* *cond_qabsvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5349; /* *cond_qabsvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5429; /* *cond_qabsvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5357; /* *cond_qabsvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5437; /* *cond_qabsvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5365; /* *cond_qabsvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5445; /* *cond_qabsvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5373; /* *cond_qabsvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5453; /* *cond_qabsvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_313 (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);
  switch (pattern313 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5302; /* *cond_qnegvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5382; /* *cond_qnegvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5310; /* *cond_qnegvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5390; /* *cond_qnegvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5318; /* *cond_qnegvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5398; /* *cond_qnegvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5326; /* *cond_qnegvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5406; /* *cond_qnegvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5334; /* *cond_qnegvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5414; /* *cond_qnegvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5342; /* *cond_qnegvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5422; /* *cond_qnegvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5350; /* *cond_qnegvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5430; /* *cond_qnegvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5358; /* *cond_qnegvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5438; /* *cond_qnegvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5366; /* *cond_qnegvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5446; /* *cond_qnegvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5374; /* *cond_qnegvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !(
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2214 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5454; /* *cond_qnegvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_314 (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);
  switch (pattern313 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5300; /* *cond_popcountvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5380; /* *cond_popcountvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5308; /* *cond_popcountvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5388; /* *cond_popcountvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5316; /* *cond_popcountvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5396; /* *cond_popcountvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5324; /* *cond_popcountvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5404; /* *cond_popcountvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5332; /* *cond_popcountvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5412; /* *cond_popcountvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5340; /* *cond_popcountvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5420; /* *cond_popcountvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5348; /* *cond_popcountvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5428; /* *cond_popcountvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5356; /* *cond_popcountvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5436; /* *cond_popcountvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5364; /* *cond_popcountvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5444; /* *cond_popcountvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5372; /* *cond_popcountvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5452; /* *cond_popcountvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_315 (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);
  switch (pattern313 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5299; /* *cond_clzvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5379; /* *cond_clzvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5307; /* *cond_clzvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5387; /* *cond_clzvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5315; /* *cond_clzvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5395; /* *cond_clzvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5323; /* *cond_clzvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5403; /* *cond_clzvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5331; /* *cond_clzvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5411; /* *cond_clzvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5339; /* *cond_clzvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5419; /* *cond_clzvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5347; /* *cond_clzvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5427; /* *cond_clzvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5355; /* *cond_clzvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5435; /* *cond_clzvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5363; /* *cond_clzvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5443; /* *cond_clzvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5371; /* *cond_clzvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5451; /* *cond_clzvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_316 (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);
  switch (pattern313 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5298; /* *cond_clrsbvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5378; /* *cond_clrsbvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5306; /* *cond_clrsbvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5386; /* *cond_clrsbvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5314; /* *cond_clrsbvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5394; /* *cond_clrsbvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5322; /* *cond_clrsbvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5402; /* *cond_clrsbvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5330; /* *cond_clrsbvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5410; /* *cond_clrsbvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5338; /* *cond_clrsbvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5418; /* *cond_clrsbvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5346; /* *cond_clrsbvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5426; /* *cond_clrsbvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5354; /* *cond_clrsbvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5434; /* *cond_clrsbvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5362; /* *cond_clrsbvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5442; /* *cond_clrsbvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5370; /* *cond_clrsbvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5450; /* *cond_clrsbvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_317 (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);
  switch (pattern313 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5297; /* *cond_one_cmplvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5377; /* *cond_one_cmplvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5305; /* *cond_one_cmplvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5385; /* *cond_one_cmplvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5313; /* *cond_one_cmplvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5393; /* *cond_one_cmplvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5321; /* *cond_one_cmplvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5401; /* *cond_one_cmplvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5329; /* *cond_one_cmplvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5409; /* *cond_one_cmplvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5337; /* *cond_one_cmplvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5417; /* *cond_one_cmplvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5345; /* *cond_one_cmplvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5425; /* *cond_one_cmplvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5353; /* *cond_one_cmplvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5433; /* *cond_one_cmplvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5361; /* *cond_one_cmplvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5441; /* *cond_one_cmplvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5369; /* *cond_one_cmplvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5449; /* *cond_one_cmplvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_318 (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 = XVECEXP (x2, 0, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      x4 = XVECEXP (x2, 0, 1);
      switch (GET_CODE (x4))
        {
        case VEC_DUPLICATE:
          return recog_295 (x1, insn, pnum_clobbers);

        case ABS:
          switch (pattern313 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5295; /* *cond_absvnx16qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5375; /* *cond_absvnx16qi_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5303; /* *cond_absvnx8qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5383; /* *cond_absvnx8qi_any */

            case 2:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5311; /* *cond_absvnx4qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5391; /* *cond_absvnx4qi_any */

            case 3:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5319; /* *cond_absvnx2qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5399; /* *cond_absvnx2qi_any */

            case 4:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5327; /* *cond_absvnx8hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5407; /* *cond_absvnx8hi_any */

            case 5:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5335; /* *cond_absvnx4hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5415; /* *cond_absvnx4hi_any */

            case 6:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5343; /* *cond_absvnx2hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5423; /* *cond_absvnx2hi_any */

            case 7:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5351; /* *cond_absvnx4si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5431; /* *cond_absvnx4si_any */

            case 8:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5359; /* *cond_absvnx2si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5439; /* *cond_absvnx2si_any */

            case 9:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5367; /* *cond_absvnx2di_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5447; /* *cond_absvnx2di_any */

            default:
              return -1;
            }

        case NEG:
          switch (pattern313 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5296; /* *cond_negvnx16qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5376; /* *cond_negvnx16qi_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5304; /* *cond_negvnx8qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5384; /* *cond_negvnx8qi_any */

            case 2:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5312; /* *cond_negvnx4qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5392; /* *cond_negvnx4qi_any */

            case 3:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5320; /* *cond_negvnx2qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5400; /* *cond_negvnx2qi_any */

            case 4:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5328; /* *cond_negvnx8hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5408; /* *cond_negvnx8hi_any */

            case 5:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5336; /* *cond_negvnx4hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5416; /* *cond_negvnx4hi_any */

            case 6:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5344; /* *cond_negvnx2hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5424; /* *cond_negvnx2hi_any */

            case 7:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5352; /* *cond_negvnx4si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5432; /* *cond_negvnx4si_any */

            case 8:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5360; /* *cond_negvnx2si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5440; /* *cond_negvnx2si_any */

            case 9:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5368; /* *cond_negvnx2di_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
                  || !
#line 2984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5448; /* *cond_negvnx2di_any */

            default:
              return -1;
            }

        case NOT:
          return recog_317 (x1, insn, pnum_clobbers);

        case CLRSB:
          return recog_316 (x1, insn, pnum_clobbers);

        case CLZ:
          return recog_315 (x1, insn, pnum_clobbers);

        case POPCOUNT:
          return recog_314 (x1, insn, pnum_clobbers);

        case SS_ABS:
          return recog_312 (x1, insn, pnum_clobbers);

        case SS_NEG:
          return recog_313 (x1, insn, pnum_clobbers);

        case UNSPEC:
          return recog_300 (x1, insn, pnum_clobbers);

        case SIGN_EXTEND:
          x6 = XEXP (x4, 0);
          if (GET_CODE (x6) != TRUNCATE)
            return -1;
          operands[1] = x3;
          x7 = XEXP (x6, 0);
          operands[2] = x7;
          x5 = XVECEXP (x2, 0, 2);
          operands[3] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (!register_operand (operands[0], E_VNx8HImode)
                  || GET_MODE (x2) != E_VNx8HImode
                  || !register_operand (operands[1], E_VNx8BImode)
                  || GET_MODE (x4) != E_VNx8HImode
                  || GET_MODE (x6) != E_VNx8QImode
                  || !register_operand (operands[2], E_VNx8HImode)
                  || !aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
                  || !
#line 3123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x81 & 0x81) == 0))
                return -1;
              return 5518; /* aarch64_cond_sxtvnx8hivnx8qi */

            case E_VNx4SImode:
              if (pattern675 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx4QImode:
                  if (!
#line 3123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x41) == 0))
                    return -1;
                  return 5519; /* aarch64_cond_sxtvnx4sivnx4qi */

                case E_VNx4HImode:
                  if (!
#line 3123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x42) == 0))
                    return -1;
                  return 5520; /* aarch64_cond_sxtvnx4sivnx4hi */

                default:
                  return -1;
                }

            case E_VNx2DImode:
              if (pattern675 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx2QImode:
                  if (!
#line 3123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x21) == 0))
                    return -1;
                  return 5521; /* aarch64_cond_sxtvnx2divnx2qi */

                case E_VNx2HImode:
                  if (!
#line 3123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x22) == 0))
                    return -1;
                  return 5522; /* aarch64_cond_sxtvnx2divnx2hi */

                case E_VNx2SImode:
                  if (!
#line 3123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x24) == 0))
                    return -1;
                  return 5523; /* aarch64_cond_sxtvnx2divnx2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case AND:
          return recog_294 (x1, insn, pnum_clobbers);

        case PLUS:
          return recog_296 (x1, insn, pnum_clobbers);

        case MINUS:
          return recog_293 (x1, insn, pnum_clobbers);

        case MULT:
          return recog_311 (x1, insn, pnum_clobbers);

        case SMAX:
          return recog_310 (x1, insn, pnum_clobbers);

        case UMAX:
          return recog_309 (x1, insn, pnum_clobbers);

        case SMIN:
          return recog_308 (x1, insn, pnum_clobbers);

        case UMIN:
          return recog_307 (x1, insn, pnum_clobbers);

        case ASHIFT:
          return recog_297 (x1, insn, pnum_clobbers);

        case ASHIFTRT:
          return recog_298 (x1, insn, pnum_clobbers);

        case LSHIFTRT:
          return recog_299 (x1, insn, pnum_clobbers);

        case IOR:
          return recog_306 (x1, insn, pnum_clobbers);

        case XOR:
          return recog_305 (x1, insn, pnum_clobbers);

        case SS_PLUS:
          return recog_304 (x1, insn, pnum_clobbers);

        case US_PLUS:
          return recog_303 (x1, insn, pnum_clobbers);

        case SS_MINUS:
          return recog_302 (x1, insn, pnum_clobbers);

        case US_MINUS:
          return recog_301 (x1, insn, pnum_clobbers);

        case DIV:
          switch (pattern319 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6542; /* *cond_divvnx4si_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4361 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6546; /* *cond_divvnx4si_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6550; /* *cond_divvnx4si_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6544; /* *cond_divvnx2di_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4361 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6548; /* *cond_divvnx2di_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6552; /* *cond_divvnx2di_any */

            default:
              return -1;
            }

        case UDIV:
          switch (pattern319 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6543; /* *cond_udivvnx4si_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4361 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6547; /* *cond_udivvnx4si_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6551; /* *cond_udivvnx4si_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6545; /* *cond_udivvnx2di_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4361 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6549; /* *cond_udivvnx2di_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return -1;
              return 6553; /* *cond_udivvnx2di_any */

            default:
              return -1;
            }

        case CONST_VECTOR:
        case CONST:
        case REG:
        case SUBREG:
          operands[1] = x4;
          operands[3] = x3;
          x5 = XVECEXP (x2, 0, 2);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern633 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx16QImode)
       || register_operand (operands[2], VNx16QImode))))
                return -1;
              return 7578; /* *vcond_mask_vnx16qivnx16bi */

            case E_VNx8QImode:
              if (pattern633 (x2, E_VNx8QImode, E_VNx8BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8QImode)
       || register_operand (operands[2], VNx8QImode))))
                return -1;
              return 7579; /* *vcond_mask_vnx8qivnx8bi */

            case E_VNx4QImode:
              if (pattern633 (x2, E_VNx4QImode, E_VNx4BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4QImode)
       || register_operand (operands[2], VNx4QImode))))
                return -1;
              return 7580; /* *vcond_mask_vnx4qivnx4bi */

            case E_VNx2QImode:
              if (pattern633 (x2, E_VNx2QImode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2QImode)
       || register_operand (operands[2], VNx2QImode))))
                return -1;
              return 7581; /* *vcond_mask_vnx2qivnx2bi */

            case E_VNx8HImode:
              if (pattern633 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8HImode)
       || register_operand (operands[2], VNx8HImode))))
                return -1;
              return 7582; /* *vcond_mask_vnx8hivnx8bi */

            case E_VNx4HImode:
              if (pattern633 (x2, E_VNx4HImode, E_VNx4BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4HImode)
       || register_operand (operands[2], VNx4HImode))))
                return -1;
              return 7583; /* *vcond_mask_vnx4hivnx4bi */

            case E_VNx2HImode:
              if (pattern633 (x2, E_VNx2HImode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2HImode)
       || register_operand (operands[2], VNx2HImode))))
                return -1;
              return 7584; /* *vcond_mask_vnx2hivnx2bi */

            case E_VNx8HFmode:
              if (pattern633 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8HFmode)
       || register_operand (operands[2], VNx8HFmode))))
                return -1;
              return 7585; /* *vcond_mask_vnx8hfvnx8bi */

            case E_VNx4HFmode:
              if (pattern633 (x2, E_VNx4HFmode, E_VNx4BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4HFmode)
       || register_operand (operands[2], VNx4HFmode))))
                return -1;
              return 7586; /* *vcond_mask_vnx4hfvnx4bi */

            case E_VNx2HFmode:
              if (pattern633 (x2, E_VNx2HFmode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2HFmode)
       || register_operand (operands[2], VNx2HFmode))))
                return -1;
              return 7587; /* *vcond_mask_vnx2hfvnx2bi */

            case E_VNx8BFmode:
              if (pattern633 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8BFmode)
       || register_operand (operands[2], VNx8BFmode))))
                return -1;
              return 7588; /* *vcond_mask_vnx8bfvnx8bi */

            case E_VNx4BFmode:
              if (pattern633 (x2, E_VNx4BFmode, E_VNx4BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4BFmode)
       || register_operand (operands[2], VNx4BFmode))))
                return -1;
              return 7589; /* *vcond_mask_vnx4bfvnx4bi */

            case E_VNx2BFmode:
              if (pattern633 (x2, E_VNx2BFmode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2BFmode)
       || register_operand (operands[2], VNx2BFmode))))
                return -1;
              return 7590; /* *vcond_mask_vnx2bfvnx2bi */

            case E_VNx4SImode:
              if (pattern633 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4SImode)
       || register_operand (operands[2], VNx4SImode))))
                return -1;
              return 7591; /* *vcond_mask_vnx4sivnx4bi */

            case E_VNx2SImode:
              if (pattern633 (x2, E_VNx2SImode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2SImode)
       || register_operand (operands[2], VNx2SImode))))
                return -1;
              return 7592; /* *vcond_mask_vnx2sivnx2bi */

            case E_VNx4SFmode:
              if (pattern633 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4SFmode)
       || register_operand (operands[2], VNx4SFmode))))
                return -1;
              return 7593; /* *vcond_mask_vnx4sfvnx4bi */

            case E_VNx2SFmode:
              if (pattern633 (x2, E_VNx2SFmode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2SFmode)
       || register_operand (operands[2], VNx2SFmode))))
                return -1;
              return 7594; /* *vcond_mask_vnx2sfvnx2bi */

            case E_VNx2DImode:
              if (pattern633 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2DImode)
       || register_operand (operands[2], VNx2DImode))))
                return -1;
              return 7595; /* *vcond_mask_vnx2divnx2bi */

            case E_VNx2DFmode:
              if (pattern633 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2DFmode)
       || register_operand (operands[2], VNx2DFmode))))
                return -1;
              return 7596; /* *vcond_mask_vnx2dfvnx2bi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 3
          || XINT (x3, 1) != 119)
        return -1;
      x8 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x8) != EQ)
        return -1;
      x9 = XVECEXP (x3, 0, 0);
      operands[1] = x9;
      x10 = XVECEXP (x3, 0, 1);
      operands[5] = x10;
      if (!aarch64_sve_ptrue_flag (operands[5], E_SImode))
        return -1;
      x11 = XEXP (x8, 0);
      operands[2] = x11;
      x12 = XEXP (x8, 1);
      operands[3] = x12;
      x4 = XVECEXP (x2, 0, 1);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (!rtx_equal_p (x5, operands[3]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern839 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5554; /* *cnotvnx16qi */

        case E_VNx8QImode:
          if (pattern839 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5555; /* *cnotvnx8qi */

        case E_VNx4QImode:
          if (pattern839 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5556; /* *cnotvnx4qi */

        case E_VNx2QImode:
          if (pattern839 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5557; /* *cnotvnx2qi */

        case E_VNx8HImode:
          if (pattern839 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5558; /* *cnotvnx8hi */

        case E_VNx4HImode:
          if (pattern839 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5559; /* *cnotvnx4hi */

        case E_VNx2HImode:
          if (pattern839 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5560; /* *cnotvnx2hi */

        case E_VNx4SImode:
          if (pattern839 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5561; /* *cnotvnx4si */

        case E_VNx2SImode:
          if (pattern839 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5562; /* *cnotvnx2si */

        case E_VNx2DImode:
          if (pattern839 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 3242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5563; /* *cnotvnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_319 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!aarch64_sve_ptrue_flag (operands[2], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  switch (GET_CODE (x5))
    {
    case LT:
      switch (pattern588 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7616; /* aarch64_pred_cmpltvnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7626; /* aarch64_pred_cmpltvnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7656; /* aarch64_pred_cmpltvnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7636; /* aarch64_pred_cmpltvnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7666; /* aarch64_pred_cmpltvnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7686; /* aarch64_pred_cmpltvnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7646; /* aarch64_pred_cmpltvnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7676; /* aarch64_pred_cmpltvnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7696; /* aarch64_pred_cmpltvnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7706; /* aarch64_pred_cmpltvnx2di */

        default:
          return -1;
        }

    case LE:
      switch (pattern588 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7617; /* aarch64_pred_cmplevnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7627; /* aarch64_pred_cmplevnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7657; /* aarch64_pred_cmplevnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7637; /* aarch64_pred_cmplevnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7667; /* aarch64_pred_cmplevnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7687; /* aarch64_pred_cmplevnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7647; /* aarch64_pred_cmplevnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7677; /* aarch64_pred_cmplevnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7697; /* aarch64_pred_cmplevnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7707; /* aarch64_pred_cmplevnx2di */

        default:
          return -1;
        }

    case EQ:
      switch (pattern588 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7618; /* aarch64_pred_cmpeqvnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7628; /* aarch64_pred_cmpeqvnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7658; /* aarch64_pred_cmpeqvnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7638; /* aarch64_pred_cmpeqvnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7668; /* aarch64_pred_cmpeqvnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7688; /* aarch64_pred_cmpeqvnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7648; /* aarch64_pred_cmpeqvnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7678; /* aarch64_pred_cmpeqvnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7698; /* aarch64_pred_cmpeqvnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7708; /* aarch64_pred_cmpeqvnx2di */

        default:
          return -1;
        }

    case NE:
      switch (pattern588 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7619; /* aarch64_pred_cmpnevnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7629; /* aarch64_pred_cmpnevnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7659; /* aarch64_pred_cmpnevnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7639; /* aarch64_pred_cmpnevnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7669; /* aarch64_pred_cmpnevnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7689; /* aarch64_pred_cmpnevnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7649; /* aarch64_pred_cmpnevnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7679; /* aarch64_pred_cmpnevnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7699; /* aarch64_pred_cmpnevnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7709; /* aarch64_pred_cmpnevnx2di */

        default:
          return -1;
        }

    case GE:
      switch (pattern588 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7620; /* aarch64_pred_cmpgevnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7630; /* aarch64_pred_cmpgevnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7660; /* aarch64_pred_cmpgevnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7640; /* aarch64_pred_cmpgevnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7670; /* aarch64_pred_cmpgevnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7690; /* aarch64_pred_cmpgevnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7650; /* aarch64_pred_cmpgevnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7680; /* aarch64_pred_cmpgevnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7700; /* aarch64_pred_cmpgevnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7710; /* aarch64_pred_cmpgevnx2di */

        default:
          return -1;
        }

    case GT:
      switch (pattern588 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7621; /* aarch64_pred_cmpgtvnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7631; /* aarch64_pred_cmpgtvnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7661; /* aarch64_pred_cmpgtvnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7641; /* aarch64_pred_cmpgtvnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7671; /* aarch64_pred_cmpgtvnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7691; /* aarch64_pred_cmpgtvnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7651; /* aarch64_pred_cmpgtvnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7681; /* aarch64_pred_cmpgtvnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7701; /* aarch64_pred_cmpgtvnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7711; /* aarch64_pred_cmpgtvnx2di */

        default:
          return -1;
        }

    case LTU:
      switch (pattern589 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7622; /* aarch64_pred_cmplovnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7632; /* aarch64_pred_cmplovnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7662; /* aarch64_pred_cmplovnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7642; /* aarch64_pred_cmplovnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7672; /* aarch64_pred_cmplovnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7692; /* aarch64_pred_cmplovnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7652; /* aarch64_pred_cmplovnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7682; /* aarch64_pred_cmplovnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7702; /* aarch64_pred_cmplovnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7712; /* aarch64_pred_cmplovnx2di */

        default:
          return -1;
        }

    case LEU:
      switch (pattern589 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7623; /* aarch64_pred_cmplsvnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7633; /* aarch64_pred_cmplsvnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7663; /* aarch64_pred_cmplsvnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7643; /* aarch64_pred_cmplsvnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7673; /* aarch64_pred_cmplsvnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7693; /* aarch64_pred_cmplsvnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7653; /* aarch64_pred_cmplsvnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7683; /* aarch64_pred_cmplsvnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7703; /* aarch64_pred_cmplsvnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7713; /* aarch64_pred_cmplsvnx2di */

        default:
          return -1;
        }

    case GEU:
      switch (pattern589 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7624; /* aarch64_pred_cmphsvnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7634; /* aarch64_pred_cmphsvnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7664; /* aarch64_pred_cmphsvnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7644; /* aarch64_pred_cmphsvnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7674; /* aarch64_pred_cmphsvnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7694; /* aarch64_pred_cmphsvnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7654; /* aarch64_pred_cmphsvnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7684; /* aarch64_pred_cmphsvnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7704; /* aarch64_pred_cmphsvnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7714; /* aarch64_pred_cmphsvnx2di */

        default:
          return -1;
        }

    case GTU:
      switch (pattern589 (x2))
        {
        case 0:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7625; /* aarch64_pred_cmphivnx16qi */

        case 1:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7635; /* aarch64_pred_cmphivnx8qi */

        case 2:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7665; /* aarch64_pred_cmphivnx8hi */

        case 3:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7645; /* aarch64_pred_cmphivnx4qi */

        case 4:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7675; /* aarch64_pred_cmphivnx4hi */

        case 5:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7695; /* aarch64_pred_cmphivnx4si */

        case 6:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7655; /* aarch64_pred_cmphivnx2qi */

        case 7:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7685; /* aarch64_pred_cmphivnx2hi */

        case 8:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7705; /* aarch64_pred_cmphivnx2si */

        case 9:
          if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7715; /* aarch64_pred_cmphivnx2di */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 2)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x5, 0, 1);
      operands[4] = x7;
      switch (XINT (x5, 1))
        {
        case 323:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8016; /* aarch64_pred_cmpeqvnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8026; /* aarch64_pred_cmpeqvnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8036; /* aarch64_pred_cmpeqvnx4si_wide */

            default:
              return -1;
            }

        case 324:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8017; /* aarch64_pred_cmpgevnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8027; /* aarch64_pred_cmpgevnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8037; /* aarch64_pred_cmpgevnx4si_wide */

            default:
              return -1;
            }

        case 325:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8018; /* aarch64_pred_cmpgtvnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8028; /* aarch64_pred_cmpgtvnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8038; /* aarch64_pred_cmpgtvnx4si_wide */

            default:
              return -1;
            }

        case 326:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8019; /* aarch64_pred_cmphivnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8029; /* aarch64_pred_cmphivnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8039; /* aarch64_pred_cmphivnx4si_wide */

            default:
              return -1;
            }

        case 327:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8020; /* aarch64_pred_cmphsvnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8030; /* aarch64_pred_cmphsvnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8040; /* aarch64_pred_cmphsvnx4si_wide */

            default:
              return -1;
            }

        case 328:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8021; /* aarch64_pred_cmplevnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8031; /* aarch64_pred_cmplevnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8041; /* aarch64_pred_cmplevnx4si_wide */

            default:
              return -1;
            }

        case 329:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8022; /* aarch64_pred_cmplovnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8032; /* aarch64_pred_cmplovnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8042; /* aarch64_pred_cmplovnx4si_wide */

            default:
              return -1;
            }

        case 330:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8023; /* aarch64_pred_cmplsvnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8033; /* aarch64_pred_cmplsvnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8043; /* aarch64_pred_cmplsvnx4si_wide */

            default:
              return -1;
            }

        case 331:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8024; /* aarch64_pred_cmpltvnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8034; /* aarch64_pred_cmpltvnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8044; /* aarch64_pred_cmpltvnx4si_wide */

            default:
              return -1;
            }

        case 332:
          switch (pattern757 (x2))
            {
            case 0:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8025; /* aarch64_pred_cmpnevnx16qi_wide */

            case 1:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8035; /* aarch64_pred_cmpnevnx8hi_wide */

            case 2:
              if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8045; /* aarch64_pred_cmpnevnx4si_wide */

            default:
              return -1;
            }

        case 433:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16BImode:
              if (pattern786 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 9945; /* aarch64_pred_matchvnx16qi */

            case E_VNx8BImode:
              if (pattern786 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 9947; /* aarch64_pred_matchvnx8hi */

            default:
              return -1;
            }

        case 434:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16BImode:
              if (pattern786 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 9946; /* aarch64_pred_nmatchvnx16qi */

            case E_VNx8BImode:
              if (pattern786 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 9948; /* aarch64_pred_nmatchvnx8hi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_320 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (pattern515 (x2, E_V8QImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4097; /* aarch64_extv8qi */

    case E_V16QImode:
      if (pattern515 (x2, E_V16QImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4098; /* aarch64_extv16qi */

    case E_V4HImode:
      if (pattern515 (x2, E_V4HImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4099; /* aarch64_extv4hi */

    case E_V8HImode:
      if (pattern515 (x2, E_V8HImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4100; /* aarch64_extv8hi */

    case E_V2SImode:
      if (pattern515 (x2, E_V2SImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4101; /* aarch64_extv2si */

    case E_V4SImode:
      if (pattern515 (x2, E_V4SImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4102; /* aarch64_extv4si */

    case E_V2DImode:
      if (pattern515 (x2, E_V2DImode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4103; /* aarch64_extv2di */

    case E_V4HFmode:
      if (pattern515 (x2, E_V4HFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4104; /* aarch64_extv4hf */

    case E_V8HFmode:
      if (pattern515 (x2, E_V8HFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4105; /* aarch64_extv8hf */

    case E_V4BFmode:
      if (pattern515 (x2, E_V4BFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4106; /* aarch64_extv4bf */

    case E_V8BFmode:
      if (pattern515 (x2, E_V8BFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4107; /* aarch64_extv8bf */

    case E_V2SFmode:
      if (pattern515 (x2, E_V2SFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4108; /* aarch64_extv2sf */

    case E_V4SFmode:
      if (pattern515 (x2, E_V4SFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4109; /* aarch64_extv4sf */

    case E_V2DFmode:
      if (pattern515 (x2, E_V2DFmode) != 0
          || !
#line 7790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4110; /* aarch64_extv2df */

    case E_VNx16QImode:
      if (pattern516 (x2, E_VNx16QImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 8 / 8, 0, 255)))
        return -1;
      return 8775; /* aarch64_sve_extvnx16qi */

    case E_VNx8QImode:
      if (pattern516 (x2, E_VNx8QImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8776; /* aarch64_sve_extvnx8qi */

    case E_VNx4QImode:
      if (pattern516 (x2, E_VNx4QImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8777; /* aarch64_sve_extvnx4qi */

    case E_VNx2QImode:
      if (pattern516 (x2, E_VNx2QImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8778; /* aarch64_sve_extvnx2qi */

    case E_VNx8HImode:
      if (pattern516 (x2, E_VNx8HImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8779; /* aarch64_sve_extvnx8hi */

    case E_VNx4HImode:
      if (pattern516 (x2, E_VNx4HImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8780; /* aarch64_sve_extvnx4hi */

    case E_VNx2HImode:
      if (pattern516 (x2, E_VNx2HImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8781; /* aarch64_sve_extvnx2hi */

    case E_VNx8HFmode:
      if (pattern516 (x2, E_VNx8HFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8782; /* aarch64_sve_extvnx8hf */

    case E_VNx4HFmode:
      if (pattern516 (x2, E_VNx4HFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8783; /* aarch64_sve_extvnx4hf */

    case E_VNx2HFmode:
      if (pattern516 (x2, E_VNx2HFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8784; /* aarch64_sve_extvnx2hf */

    case E_VNx8BFmode:
      if (pattern516 (x2, E_VNx8BFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8785; /* aarch64_sve_extvnx8bf */

    case E_VNx4BFmode:
      if (pattern516 (x2, E_VNx4BFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8786; /* aarch64_sve_extvnx4bf */

    case E_VNx2BFmode:
      if (pattern516 (x2, E_VNx2BFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8787; /* aarch64_sve_extvnx2bf */

    case E_VNx4SImode:
      if (pattern516 (x2, E_VNx4SImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8788; /* aarch64_sve_extvnx4si */

    case E_VNx2SImode:
      if (pattern516 (x2, E_VNx2SImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8789; /* aarch64_sve_extvnx2si */

    case E_VNx4SFmode:
      if (pattern516 (x2, E_VNx4SFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8790; /* aarch64_sve_extvnx4sf */

    case E_VNx2SFmode:
      if (pattern516 (x2, E_VNx2SFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8791; /* aarch64_sve_extvnx2sf */

    case E_VNx2DImode:
      if (pattern516 (x2, E_VNx2DImode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8792; /* aarch64_sve_extvnx2di */

    case E_VNx2DFmode:
      if (pattern516 (x2, E_VNx2DFmode) != 0
          || !
#line 8794 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8793; /* aarch64_sve_extvnx2df */

    default:
      return -1;
    }
}

static int
recog_321 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!aarch64_simd_struct_operand (operands[1], E_BLKmode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!immediate_operand (operands[3], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V3x8QImode:
      if (!register_operand (operands[0], E_V3x8QImode)
          || GET_MODE (x2) != E_V3x8QImode
          || !register_operand (operands[2], E_V3x8QImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3607; /* aarch64_vec_load_lanesv3x8qi_lanev8qi */

    case E_V3x4HImode:
      if (!register_operand (operands[0], E_V3x4HImode)
          || GET_MODE (x2) != E_V3x4HImode
          || !register_operand (operands[2], E_V3x4HImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3608; /* aarch64_vec_load_lanesv3x4hi_lanev4hi */

    case E_V3x2SImode:
      if (!register_operand (operands[0], E_V3x2SImode)
          || GET_MODE (x2) != E_V3x2SImode
          || !register_operand (operands[2], E_V3x2SImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3609; /* aarch64_vec_load_lanesv3x2si_lanev2si */

    case E_V3x1DImode:
      if (!register_operand (operands[0], E_V3x1DImode)
          || GET_MODE (x2) != E_V3x1DImode
          || !register_operand (operands[2], E_V3x1DImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3610; /* aarch64_vec_load_lanesv3x1di_lanedi */

    case E_V3x4HFmode:
      if (!register_operand (operands[0], E_V3x4HFmode)
          || GET_MODE (x2) != E_V3x4HFmode
          || !register_operand (operands[2], E_V3x4HFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3611; /* aarch64_vec_load_lanesv3x4hf_lanev4hf */

    case E_V3x2SFmode:
      if (!register_operand (operands[0], E_V3x2SFmode)
          || GET_MODE (x2) != E_V3x2SFmode
          || !register_operand (operands[2], E_V3x2SFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3612; /* aarch64_vec_load_lanesv3x2sf_lanev2sf */

    case E_V3x1DFmode:
      if (!register_operand (operands[0], E_V3x1DFmode)
          || GET_MODE (x2) != E_V3x1DFmode
          || !register_operand (operands[2], E_V3x1DFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3613; /* aarch64_vec_load_lanesv3x1df_lanedf */

    case E_V3x4BFmode:
      if (!register_operand (operands[0], E_V3x4BFmode)
          || GET_MODE (x2) != E_V3x4BFmode
          || !register_operand (operands[2], E_V3x4BFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3614; /* aarch64_vec_load_lanesv3x4bf_lanev4bf */

    case E_V3x16QImode:
      if (!register_operand (operands[0], E_V3x16QImode)
          || GET_MODE (x2) != E_V3x16QImode
          || !register_operand (operands[2], E_V3x16QImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3615; /* aarch64_vec_load_lanesv3x16qi_lanev16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[0], E_V3x8HImode)
          || GET_MODE (x2) != E_V3x8HImode
          || !register_operand (operands[2], E_V3x8HImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3616; /* aarch64_vec_load_lanesv3x8hi_lanev8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[0], E_V3x4SImode)
          || GET_MODE (x2) != E_V3x4SImode
          || !register_operand (operands[2], E_V3x4SImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3617; /* aarch64_vec_load_lanesv3x4si_lanev4si */

    case E_V3x2DImode:
      if (!register_operand (operands[0], E_V3x2DImode)
          || GET_MODE (x2) != E_V3x2DImode
          || !register_operand (operands[2], E_V3x2DImode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3618; /* aarch64_vec_load_lanesv3x2di_lanev2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[0], E_V3x8HFmode)
          || GET_MODE (x2) != E_V3x8HFmode
          || !register_operand (operands[2], E_V3x8HFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3619; /* aarch64_vec_load_lanesv3x8hf_lanev8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[0], E_V3x4SFmode)
          || GET_MODE (x2) != E_V3x4SFmode
          || !register_operand (operands[2], E_V3x4SFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3620; /* aarch64_vec_load_lanesv3x4sf_lanev4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[0], E_V3x2DFmode)
          || GET_MODE (x2) != E_V3x2DFmode
          || !register_operand (operands[2], E_V3x2DFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3621; /* aarch64_vec_load_lanesv3x2df_lanev2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[0], E_V3x8BFmode)
          || GET_MODE (x2) != E_V3x8BFmode
          || !register_operand (operands[2], E_V3x8BFmode)
          || !
#line 6863 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3622; /* aarch64_vec_load_lanesv3x8bf_lanev8bf */

    default:
      return -1;
    }
}

static int
recog_322 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!aarch64_simd_struct_operand (operands[1], E_BLKmode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!immediate_operand (operands[3], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V4x8QImode:
      if (!register_operand (operands[0], E_V4x8QImode)
          || GET_MODE (x2) != E_V4x8QImode
          || !register_operand (operands[2], E_V4x8QImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3671; /* aarch64_vec_load_lanesv4x8qi_lanev8qi */

    case E_V4x4HImode:
      if (!register_operand (operands[0], E_V4x4HImode)
          || GET_MODE (x2) != E_V4x4HImode
          || !register_operand (operands[2], E_V4x4HImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3672; /* aarch64_vec_load_lanesv4x4hi_lanev4hi */

    case E_V4x2SImode:
      if (!register_operand (operands[0], E_V4x2SImode)
          || GET_MODE (x2) != E_V4x2SImode
          || !register_operand (operands[2], E_V4x2SImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3673; /* aarch64_vec_load_lanesv4x2si_lanev2si */

    case E_V4x1DImode:
      if (!register_operand (operands[0], E_V4x1DImode)
          || GET_MODE (x2) != E_V4x1DImode
          || !register_operand (operands[2], E_V4x1DImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3674; /* aarch64_vec_load_lanesv4x1di_lanedi */

    case E_V4x4HFmode:
      if (!register_operand (operands[0], E_V4x4HFmode)
          || GET_MODE (x2) != E_V4x4HFmode
          || !register_operand (operands[2], E_V4x4HFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3675; /* aarch64_vec_load_lanesv4x4hf_lanev4hf */

    case E_V4x2SFmode:
      if (!register_operand (operands[0], E_V4x2SFmode)
          || GET_MODE (x2) != E_V4x2SFmode
          || !register_operand (operands[2], E_V4x2SFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3676; /* aarch64_vec_load_lanesv4x2sf_lanev2sf */

    case E_V4x1DFmode:
      if (!register_operand (operands[0], E_V4x1DFmode)
          || GET_MODE (x2) != E_V4x1DFmode
          || !register_operand (operands[2], E_V4x1DFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3677; /* aarch64_vec_load_lanesv4x1df_lanedf */

    case E_V4x4BFmode:
      if (!register_operand (operands[0], E_V4x4BFmode)
          || GET_MODE (x2) != E_V4x4BFmode
          || !register_operand (operands[2], E_V4x4BFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3678; /* aarch64_vec_load_lanesv4x4bf_lanev4bf */

    case E_V4x16QImode:
      if (!register_operand (operands[0], E_V4x16QImode)
          || GET_MODE (x2) != E_V4x16QImode
          || !register_operand (operands[2], E_V4x16QImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3679; /* aarch64_vec_load_lanesv4x16qi_lanev16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[0], E_V4x8HImode)
          || GET_MODE (x2) != E_V4x8HImode
          || !register_operand (operands[2], E_V4x8HImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3680; /* aarch64_vec_load_lanesv4x8hi_lanev8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[0], E_V4x4SImode)
          || GET_MODE (x2) != E_V4x4SImode
          || !register_operand (operands[2], E_V4x4SImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3681; /* aarch64_vec_load_lanesv4x4si_lanev4si */

    case E_V4x2DImode:
      if (!register_operand (operands[0], E_V4x2DImode)
          || GET_MODE (x2) != E_V4x2DImode
          || !register_operand (operands[2], E_V4x2DImode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3682; /* aarch64_vec_load_lanesv4x2di_lanev2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[0], E_V4x8HFmode)
          || GET_MODE (x2) != E_V4x8HFmode
          || !register_operand (operands[2], E_V4x8HFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3683; /* aarch64_vec_load_lanesv4x8hf_lanev8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[0], E_V4x4SFmode)
          || GET_MODE (x2) != E_V4x4SFmode
          || !register_operand (operands[2], E_V4x4SFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3684; /* aarch64_vec_load_lanesv4x4sf_lanev4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[0], E_V4x2DFmode)
          || GET_MODE (x2) != E_V4x2DFmode
          || !register_operand (operands[2], E_V4x2DFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3685; /* aarch64_vec_load_lanesv4x2df_lanev2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[0], E_V4x8BFmode)
          || GET_MODE (x2) != E_V4x8BFmode
          || !register_operand (operands[2], E_V4x8BFmode)
          || !
#line 6963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3686; /* aarch64_vec_load_lanesv4x8bf_lanev8bf */

    default:
      return -1;
    }
}

static int
recog_323 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!aarch64_simd_struct_operand (operands[1], E_BLKmode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!immediate_operand (operands[3], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode)
          || GET_MODE (x2) != E_V2x8QImode
          || !register_operand (operands[2], E_V2x8QImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3543; /* aarch64_vec_load_lanesv2x8qi_lanev8qi */

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode)
          || GET_MODE (x2) != E_V2x4HImode
          || !register_operand (operands[2], E_V2x4HImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3544; /* aarch64_vec_load_lanesv2x4hi_lanev4hi */

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode)
          || GET_MODE (x2) != E_V2x2SImode
          || !register_operand (operands[2], E_V2x2SImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3545; /* aarch64_vec_load_lanesv2x2si_lanev2si */

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode)
          || GET_MODE (x2) != E_V2x1DImode
          || !register_operand (operands[2], E_V2x1DImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3546; /* aarch64_vec_load_lanesv2x1di_lanedi */

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode)
          || GET_MODE (x2) != E_V2x4HFmode
          || !register_operand (operands[2], E_V2x4HFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3547; /* aarch64_vec_load_lanesv2x4hf_lanev4hf */

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode)
          || GET_MODE (x2) != E_V2x2SFmode
          || !register_operand (operands[2], E_V2x2SFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3548; /* aarch64_vec_load_lanesv2x2sf_lanev2sf */

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode)
          || GET_MODE (x2) != E_V2x1DFmode
          || !register_operand (operands[2], E_V2x1DFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3549; /* aarch64_vec_load_lanesv2x1df_lanedf */

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode)
          || GET_MODE (x2) != E_V2x4BFmode
          || !register_operand (operands[2], E_V2x4BFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3550; /* aarch64_vec_load_lanesv2x4bf_lanev4bf */

    case E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode)
          || GET_MODE (x2) != E_V2x16QImode
          || !register_operand (operands[2], E_V2x16QImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3551; /* aarch64_vec_load_lanesv2x16qi_lanev16qi */

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode)
          || GET_MODE (x2) != E_V2x8HImode
          || !register_operand (operands[2], E_V2x8HImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3552; /* aarch64_vec_load_lanesv2x8hi_lanev8hi */

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode)
          || GET_MODE (x2) != E_V2x4SImode
          || !register_operand (operands[2], E_V2x4SImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3553; /* aarch64_vec_load_lanesv2x4si_lanev4si */

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode)
          || GET_MODE (x2) != E_V2x2DImode
          || !register_operand (operands[2], E_V2x2DImode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3554; /* aarch64_vec_load_lanesv2x2di_lanev2di */

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode)
          || GET_MODE (x2) != E_V2x8HFmode
          || !register_operand (operands[2], E_V2x8HFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3555; /* aarch64_vec_load_lanesv2x8hf_lanev8hf */

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode)
          || GET_MODE (x2) != E_V2x4SFmode
          || !register_operand (operands[2], E_V2x4SFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3556; /* aarch64_vec_load_lanesv2x4sf_lanev4sf */

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode)
          || GET_MODE (x2) != E_V2x2DFmode
          || !register_operand (operands[2], E_V2x2DFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3557; /* aarch64_vec_load_lanesv2x2df_lanev2df */

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode)
          || GET_MODE (x2) != E_V2x8BFmode
          || !register_operand (operands[2], E_V2x8BFmode)
          || !
#line 6763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3558; /* aarch64_vec_load_lanesv2x8bf_lanev8bf */

    default:
      return -1;
    }
}

static int
recog_324 (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 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 2);
  if (!rtx_equal_p (x4, operands[0]))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern517 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4955; /* maskstorevnx16qivnx16bi */

        case E_VNx8QImode:
          if (pattern517 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4956; /* maskstorevnx8qivnx8bi */

        case E_VNx4QImode:
          if (pattern517 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4957; /* maskstorevnx4qivnx4bi */

        case E_VNx2QImode:
          if (pattern517 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4958; /* maskstorevnx2qivnx2bi */

        case E_VNx8HImode:
          if (pattern517 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4959; /* maskstorevnx8hivnx8bi */

        case E_VNx4HImode:
          if (pattern517 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4960; /* maskstorevnx4hivnx4bi */

        case E_VNx2HImode:
          if (pattern517 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4961; /* maskstorevnx2hivnx2bi */

        case E_VNx8HFmode:
          if (pattern517 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4962; /* maskstorevnx8hfvnx8bi */

        case E_VNx4HFmode:
          if (pattern517 (x2, E_VNx4HFmode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4963; /* maskstorevnx4hfvnx4bi */

        case E_VNx2HFmode:
          if (pattern517 (x2, E_VNx2HFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4964; /* maskstorevnx2hfvnx2bi */

        case E_VNx8BFmode:
          if (pattern517 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4965; /* maskstorevnx8bfvnx8bi */

        case E_VNx4BFmode:
          if (pattern517 (x2, E_VNx4BFmode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4966; /* maskstorevnx4bfvnx4bi */

        case E_VNx2BFmode:
          if (pattern517 (x2, E_VNx2BFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4967; /* maskstorevnx2bfvnx2bi */

        case E_VNx4SImode:
          if (pattern517 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4968; /* maskstorevnx4sivnx4bi */

        case E_VNx2SImode:
          if (pattern517 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4969; /* maskstorevnx2sivnx2bi */

        case E_VNx4SFmode:
          if (pattern517 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4970; /* maskstorevnx4sfvnx4bi */

        case E_VNx2SFmode:
          if (pattern517 (x2, E_VNx2SFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4971; /* maskstorevnx2sfvnx2bi */

        case E_VNx2DImode:
          if (pattern517 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4972; /* maskstorevnx2divnx2bi */

        case E_VNx2DFmode:
          if (pattern517 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4973; /* maskstorevnx2dfvnx2bi */

        default:
          return -1;
        }

    case TRUNCATE:
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8QImode:
          if (pattern578 (x2, E_VNx8QImode, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 2175 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4998; /* aarch64_store_truncvnx8qivnx8hi */

        case E_VNx4QImode:
          if (pattern578 (x2, E_VNx4QImode, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2188 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4999; /* aarch64_store_truncvnx4qivnx4si */

        case E_VNx4HImode:
          if (pattern578 (x2, E_VNx4HImode, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2188 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5000; /* aarch64_store_truncvnx4hivnx4si */

        case E_VNx2QImode:
          if (pattern578 (x2, E_VNx2QImode, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5001; /* aarch64_store_truncvnx2qivnx2di */

        case E_VNx2HImode:
          if (pattern578 (x2, E_VNx2HImode, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5002; /* aarch64_store_truncvnx2hivnx2di */

        case E_VNx2SImode:
          if (pattern578 (x2, E_VNx2SImode, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5003; /* aarch64_store_truncvnx2sivnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_325 (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 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (!rtx_equal_p (x5, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx32QImode:
      if (pattern517 (x2, E_VNx32QImode, E_VNx16BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4974; /* vec_mask_store_lanesvnx32qivnx16qi */

    case E_VNx16HImode:
      if (pattern517 (x2, E_VNx16HImode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4975; /* vec_mask_store_lanesvnx16hivnx8hi */

    case E_VNx8SImode:
      if (pattern517 (x2, E_VNx8SImode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4976; /* vec_mask_store_lanesvnx8sivnx4si */

    case E_VNx4DImode:
      if (pattern517 (x2, E_VNx4DImode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4977; /* vec_mask_store_lanesvnx4divnx2di */

    case E_VNx16BFmode:
      if (pattern517 (x2, E_VNx16BFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4978; /* vec_mask_store_lanesvnx16bfvnx8bf */

    case E_VNx16HFmode:
      if (pattern517 (x2, E_VNx16HFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4979; /* vec_mask_store_lanesvnx16hfvnx8hf */

    case E_VNx8SFmode:
      if (pattern517 (x2, E_VNx8SFmode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4980; /* vec_mask_store_lanesvnx8sfvnx4sf */

    case E_VNx4DFmode:
      if (pattern517 (x2, E_VNx4DFmode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4981; /* vec_mask_store_lanesvnx4dfvnx2df */

    case E_VNx48QImode:
      if (pattern517 (x2, E_VNx48QImode, E_VNx16BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4982; /* vec_mask_store_lanesvnx48qivnx16qi */

    case E_VNx24HImode:
      if (pattern517 (x2, E_VNx24HImode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4983; /* vec_mask_store_lanesvnx24hivnx8hi */

    case E_VNx12SImode:
      if (pattern517 (x2, E_VNx12SImode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4984; /* vec_mask_store_lanesvnx12sivnx4si */

    case E_VNx6DImode:
      if (pattern517 (x2, E_VNx6DImode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4985; /* vec_mask_store_lanesvnx6divnx2di */

    case E_VNx24BFmode:
      if (pattern517 (x2, E_VNx24BFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4986; /* vec_mask_store_lanesvnx24bfvnx8bf */

    case E_VNx24HFmode:
      if (pattern517 (x2, E_VNx24HFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4987; /* vec_mask_store_lanesvnx24hfvnx8hf */

    case E_VNx12SFmode:
      if (pattern517 (x2, E_VNx12SFmode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4988; /* vec_mask_store_lanesvnx12sfvnx4sf */

    case E_VNx6DFmode:
      if (pattern517 (x2, E_VNx6DFmode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4989; /* vec_mask_store_lanesvnx6dfvnx2df */

    case E_VNx64QImode:
      if (pattern517 (x2, E_VNx64QImode, E_VNx16BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4990; /* vec_mask_store_lanesvnx64qivnx16qi */

    case E_VNx32HImode:
      if (pattern517 (x2, E_VNx32HImode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4991; /* vec_mask_store_lanesvnx32hivnx8hi */

    case E_VNx16SImode:
      if (pattern517 (x2, E_VNx16SImode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4992; /* vec_mask_store_lanesvnx16sivnx4si */

    case E_VNx8DImode:
      if (pattern517 (x2, E_VNx8DImode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4993; /* vec_mask_store_lanesvnx8divnx2di */

    case E_VNx32BFmode:
      if (pattern517 (x2, E_VNx32BFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4994; /* vec_mask_store_lanesvnx32bfvnx8bf */

    case E_VNx32HFmode:
      if (pattern517 (x2, E_VNx32HFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4995; /* vec_mask_store_lanesvnx32hfvnx8hf */

    case E_VNx16SFmode:
      if (pattern517 (x2, E_VNx16SFmode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4996; /* vec_mask_store_lanesvnx16sfvnx4sf */

    case E_VNx8DFmode:
      if (pattern517 (x2, E_VNx8DFmode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4997; /* vec_mask_store_lanesvnx8dfvnx2df */

    default:
      return -1;
    }
}

static int
recog_326 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  if (!aarch64_sve_gp_strictness (x4, E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[2] = x5;
      operands[3] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern222 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5593; /* aarch64_pred_absvnx8hf */

        case E_VNx4SFmode:
          if (pattern222 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5604; /* aarch64_pred_absvnx4sf */

        case E_VNx2DFmode:
          if (pattern222 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5615; /* aarch64_pred_absvnx2df */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 4
          || XINT (x5, 1) != 373)
        return -1;
      x6 = XVECEXP (x5, 0, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      operands[4] = x4;
      x7 = XVECEXP (x5, 0, 2);
      operands[2] = x7;
      x8 = XVECEXP (x5, 0, 3);
      operands[3] = x8;
      switch (XWINT (x6, 0))
        {
        case 0L:
          x9 = XVECEXP (x5, 0, 0);
          operands[5] = x9;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern837 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7175; /* *aarch64_pred_abdvnx8hf_relaxed */

            case E_VNx4SFmode:
              if (pattern837 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7176; /* *aarch64_pred_abdvnx4sf_relaxed */

            case E_VNx2DFmode:
              if (pattern837 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7177; /* *aarch64_pred_abdvnx2df_relaxed */

            default:
              return -1;
            }

        case 1L:
          x9 = XVECEXP (x5, 0, 0);
          if (!rtx_equal_p (x9, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern837 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 5885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7178; /* *aarch64_pred_abdvnx8hf_strict */

            case E_VNx4SFmode:
              if (pattern837 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 5885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7179; /* *aarch64_pred_abdvnx4sf_strict */

            case E_VNx2DFmode:
              if (pattern837 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 5885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7180; /* *aarch64_pred_abdvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_327 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      switch (pattern514 (x2, E_V8QImode))
        {
        case 0:
          if (!
#line 7677 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3998; /* aarch64_qtbx1v8qi */

        case 1:
          if (!
#line 7700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4002; /* aarch64_qtbx2v8qi */

        case 2:
          if (!
#line 7723 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4006; /* aarch64_qtbx3v8qi */

        case 3:
          if (!
#line 7746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4010; /* aarch64_qtbx4v8qi */

        default:
          return -1;
        }

    case E_V16QImode:
      switch (pattern514 (x2, E_V16QImode))
        {
        case 0:
          if (!
#line 7677 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3999; /* aarch64_qtbx1v16qi */

        case 1:
          if (!
#line 7700 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4003; /* aarch64_qtbx2v16qi */

        case 2:
          if (!
#line 7723 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4007; /* aarch64_qtbx3v16qi */

        case 3:
          if (!
#line 7746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4011; /* aarch64_qtbx4v16qi */

        default:
          return -1;
        }

    case E_VNx16QImode:
      if (pattern246 (x2, E_VNx16QImode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9922; /* aarch64_sve2_tbxvnx16qi */

    case E_VNx8HImode:
      if (pattern246 (x2, E_VNx8HImode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9923; /* aarch64_sve2_tbxvnx8hi */

    case E_VNx4SImode:
      if (pattern246 (x2, E_VNx4SImode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9924; /* aarch64_sve2_tbxvnx4si */

    case E_VNx2DImode:
      if (pattern246 (x2, E_VNx2DImode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9925; /* aarch64_sve2_tbxvnx2di */

    case E_VNx8BFmode:
      if (pattern513 (x2, E_VNx8HImode, E_VNx8BFmode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9926; /* aarch64_sve2_tbxvnx8bf */

    case E_VNx8HFmode:
      if (pattern513 (x2, E_VNx8HImode, E_VNx8HFmode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9927; /* aarch64_sve2_tbxvnx8hf */

    case E_VNx4SFmode:
      if (pattern513 (x2, E_VNx4SImode, E_VNx4SFmode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9928; /* aarch64_sve2_tbxvnx4sf */

    case E_VNx2DFmode:
      if (pattern513 (x2, E_VNx2DImode, E_VNx2DFmode) != 0
          || !
#line 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9929; /* aarch64_sve2_tbxvnx2df */

    default:
      return -1;
    }
}

static int
recog_328 (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 (pattern208 (x2))
    {
    case 0:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2933; /* aarch64_sqrdmlshv4hi */

    case 1:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2935; /* aarch64_sqrdmlshv8hi */

    case 2:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2937; /* aarch64_sqrdmlshv2si */

    case 3:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2939; /* aarch64_sqrdmlshv4si */

    case 4:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2941; /* aarch64_sqrdmlshhi */

    case 5:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2943; /* aarch64_sqrdmlshsi */

    case 6:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9335; /* aarch64_sve_sqrdmlshvnx16qi */

    case 7:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9343; /* aarch64_sve_sqrdmlshvnx8hi */

    case 8:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9351; /* aarch64_sve_sqrdmlshvnx4si */

    case 9:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9359; /* aarch64_sve_sqrdmlshvnx2di */

    case 10:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2945; /* aarch64_sqrdmlsh_lanev4hi */

    case 11:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2957; /* aarch64_sqrdmlsh_laneqv4hi */

    case 12:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2947; /* aarch64_sqrdmlsh_lanev8hi */

    case 13:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2959; /* aarch64_sqrdmlsh_laneqv8hi */

    case 14:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2949; /* aarch64_sqrdmlsh_lanev2si */

    case 15:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2961; /* aarch64_sqrdmlsh_laneqv2si */

    case 16:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2951; /* aarch64_sqrdmlsh_lanev4si */

    case 17:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2963; /* aarch64_sqrdmlsh_laneqv4si */

    case 18:
      if (!
#line 5320 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2953; /* aarch64_sqrdmlsh_lanehi */

    case 19:
      if (!
#line 5358 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2965; /* aarch64_sqrdmlsh_laneqhi */

    case 20:
      if (!
#line 5320 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2955; /* aarch64_sqrdmlsh_lanesi */

    case 21:
      if (!
#line 5358 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2967; /* aarch64_sqrdmlsh_laneqsi */

    case 22:
      if (!
#line 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9361; /* aarch64_sve_sqrdmlsh_lane_vnx8hi */

    case 23:
      if (!
#line 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9363; /* aarch64_sve_sqrdmlsh_lane_vnx4si */

    case 24:
      if (!
#line 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9365; /* aarch64_sve_sqrdmlsh_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_329 (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 (pattern208 (x2))
    {
    case 0:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2932; /* aarch64_sqrdmlahv4hi */

    case 1:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2934; /* aarch64_sqrdmlahv8hi */

    case 2:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2936; /* aarch64_sqrdmlahv2si */

    case 3:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2938; /* aarch64_sqrdmlahv4si */

    case 4:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2940; /* aarch64_sqrdmlahhi */

    case 5:
      if (!
#line 5286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2942; /* aarch64_sqrdmlahsi */

    case 6:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9334; /* aarch64_sve_sqrdmlahvnx16qi */

    case 7:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9342; /* aarch64_sve_sqrdmlahvnx8hi */

    case 8:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9350; /* aarch64_sve_sqrdmlahvnx4si */

    case 9:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9358; /* aarch64_sve_sqrdmlahvnx2di */

    case 10:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2944; /* aarch64_sqrdmlah_lanev4hi */

    case 11:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2956; /* aarch64_sqrdmlah_laneqv4hi */

    case 12:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2946; /* aarch64_sqrdmlah_lanev8hi */

    case 13:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2958; /* aarch64_sqrdmlah_laneqv8hi */

    case 14:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2948; /* aarch64_sqrdmlah_lanev2si */

    case 15:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2960; /* aarch64_sqrdmlah_laneqv2si */

    case 16:
      if (!
#line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2950; /* aarch64_sqrdmlah_lanev4si */

    case 17:
      if (!
#line 5340 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2962; /* aarch64_sqrdmlah_laneqv4si */

    case 18:
      if (!
#line 5320 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2952; /* aarch64_sqrdmlah_lanehi */

    case 19:
      if (!
#line 5358 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2964; /* aarch64_sqrdmlah_laneqhi */

    case 20:
      if (!
#line 5320 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2954; /* aarch64_sqrdmlah_lanesi */

    case 21:
      if (!
#line 5358 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 2966; /* aarch64_sqrdmlah_laneqsi */

    case 22:
      if (!
#line 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9360; /* aarch64_sve_sqrdmlah_lane_vnx8hi */

    case 23:
      if (!
#line 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9362; /* aarch64_sve_sqrdmlah_lane_vnx4si */

    case 24:
      if (!
#line 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9364; /* aarch64_sve_sqrdmlah_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_330 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      switch (pattern234 (x2, E_VNx4SFmode, E_VNx2DFmode, E_VNx8HFmode))
        {
        case 0:
          if (!
#line 9331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
            return -1;
          return 8921; /* aarch64_sve_fcvt_truncvnx4sfvnx8hf */

        case 1:
          if (!
#line 9331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
            return -1;
          return 8922; /* aarch64_sve_fcvt_truncvnx2dfvnx8hf */

        default:
          return -1;
        }

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x2) != E_VNx4SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_VNx2BImode:
          if (!register_operand (operands[1], E_VNx2BImode)
              || !register_operand (operands[2], E_VNx2DFmode)
              || !
#line 9331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
            return -1;
          return 8923; /* aarch64_sve_fcvt_truncvnx2dfvnx4sf */

        case E_VNx4BImode:
          if (!register_operand (operands[1], E_VNx4BImode)
              || !register_operand (operands[2], E_VNx8HFmode)
              || !
#line 9488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
            return -1;
          return 8930; /* aarch64_sve_fcvt_nontruncvnx8hfvnx4sf */

        default:
          return -1;
        }

    case E_VNx8BFmode:
      if (pattern231 (x2, E_VNx4SFmode, E_VNx4BImode, E_VNx8BFmode) != 0
          || !
#line 9388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 8927; /* aarch64_sve_fcvt_truncvnx4sfvnx8bf */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x2) != E_VNx2DFmode)
        return -1;
      switch (pattern232 (E_VNx2BImode))
        {
        case 0:
          if (!
#line 9488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
            return -1;
          return 8931; /* aarch64_sve_fcvt_nontruncvnx8hfvnx2df */

        case 1:
          if (!
#line 9488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
            return -1;
          return 8932; /* aarch64_sve_fcvt_nontruncvnx4sfvnx2df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_331 (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 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (!rtx_equal_p (x5, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern517 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5004; /* aarch64_stnt1vnx16qi */

    case E_VNx8HImode:
      if (pattern517 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5005; /* aarch64_stnt1vnx8hi */

    case E_VNx4SImode:
      if (pattern517 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5006; /* aarch64_stnt1vnx4si */

    case E_VNx2DImode:
      if (pattern517 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5007; /* aarch64_stnt1vnx2di */

    case E_VNx8BFmode:
      if (pattern517 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5008; /* aarch64_stnt1vnx8bf */

    case E_VNx8HFmode:
      if (pattern517 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5009; /* aarch64_stnt1vnx8hf */

    case E_VNx4SFmode:
      if (pattern517 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5010; /* aarch64_stnt1vnx4sf */

    case E_VNx2DFmode:
      if (pattern517 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5011; /* aarch64_stnt1vnx2df */

    default:
      return -1;
    }
}

static int
recog_332 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern243 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8605; /* aarch64_sve_splicevnx16qi */

    case E_VNx8HImode:
      if (pattern243 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8606; /* aarch64_sve_splicevnx8hi */

    case E_VNx4SImode:
      if (pattern243 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8607; /* aarch64_sve_splicevnx4si */

    case E_VNx2DImode:
      if (pattern243 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8608; /* aarch64_sve_splicevnx2di */

    case E_VNx8BFmode:
      if (pattern243 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8609; /* aarch64_sve_splicevnx8bf */

    case E_VNx8HFmode:
      if (pattern243 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8610; /* aarch64_sve_splicevnx8hf */

    case E_VNx4SFmode:
      if (pattern243 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8611; /* aarch64_sve_splicevnx4sf */

    case E_VNx2DFmode:
      if (pattern243 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 8754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8612; /* aarch64_sve_splicevnx2df */

    default:
      return -1;
    }
}

static int
recog_333 (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 (pattern230 (x2))
    {
    case 0:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8462; /* fold_extract_after_last_vnx16qi */

    case 1:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8464; /* fold_extract_after_last_vnx8hi */

    case 2:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8466; /* fold_extract_after_last_vnx4si */

    case 3:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8468; /* fold_extract_after_last_vnx2di */

    case 4:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8470; /* fold_extract_after_last_vnx8bf */

    case 5:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8472; /* fold_extract_after_last_vnx8hf */

    case 6:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8474; /* fold_extract_after_last_vnx4sf */

    case 7:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8476; /* fold_extract_after_last_vnx2df */

    case 8:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8478; /* aarch64_fold_extract_vector_after_last_vnx16qi */

    case 9:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8480; /* aarch64_fold_extract_vector_after_last_vnx8hi */

    case 10:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8482; /* aarch64_fold_extract_vector_after_last_vnx4si */

    case 11:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8484; /* aarch64_fold_extract_vector_after_last_vnx2di */

    case 12:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8486; /* aarch64_fold_extract_vector_after_last_vnx8bf */

    case 13:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8488; /* aarch64_fold_extract_vector_after_last_vnx8hf */

    case 14:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8490; /* aarch64_fold_extract_vector_after_last_vnx4sf */

    case 15:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8492; /* aarch64_fold_extract_vector_after_last_vnx2df */

    default:
      return -1;
    }
}

static int
recog_334 (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 (pattern230 (x2))
    {
    case 0:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8463; /* fold_extract_last_vnx16qi */

    case 1:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8465; /* fold_extract_last_vnx8hi */

    case 2:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8467; /* fold_extract_last_vnx4si */

    case 3:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8469; /* fold_extract_last_vnx2di */

    case 4:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8471; /* fold_extract_last_vnx8bf */

    case 5:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8473; /* fold_extract_last_vnx8hf */

    case 6:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8475; /* fold_extract_last_vnx4sf */

    case 7:
      if (!
#line 8465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8477; /* fold_extract_last_vnx2df */

    case 8:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8479; /* aarch64_fold_extract_vector_last_vnx16qi */

    case 9:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8481; /* aarch64_fold_extract_vector_last_vnx8hi */

    case 10:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8483; /* aarch64_fold_extract_vector_last_vnx4si */

    case 11:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8485; /* aarch64_fold_extract_vector_last_vnx2di */

    case 12:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8487; /* aarch64_fold_extract_vector_last_vnx8bf */

    case 13:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8489; /* aarch64_fold_extract_vector_last_vnx8hf */

    case 14:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8491; /* aarch64_fold_extract_vector_last_vnx4sf */

    case 15:
      if (!
#line 8478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8493; /* aarch64_fold_extract_vector_last_vnx2df */

    default:
      return -1;
    }
}

static int
recog_335 (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 (pattern221 (x2))
    {
    case 0:
      if (pattern632 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4730; /* aarch64_ldnf1vnx16qi */

    case 1:
      if (pattern632 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4732; /* aarch64_ldnf1vnx8hi */

    case 2:
      if (pattern632 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4734; /* aarch64_ldnf1vnx4si */

    case 3:
      if (pattern632 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4736; /* aarch64_ldnf1vnx2di */

    case 4:
      if (pattern632 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4738; /* aarch64_ldnf1vnx8bf */

    case 5:
      if (pattern632 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4740; /* aarch64_ldnf1vnx8hf */

    case 6:
      if (pattern632 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4742; /* aarch64_ldnf1vnx4sf */

    case 7:
      if (pattern632 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4744; /* aarch64_ldnf1vnx2df */

    default:
      return -1;
    }
}

static int
recog_336 (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 (pattern221 (x2))
    {
    case 0:
      if (pattern631 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4729; /* aarch64_ldff1vnx16qi */

    case 1:
      if (pattern631 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4731; /* aarch64_ldff1vnx8hi */

    case 2:
      if (pattern631 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4733; /* aarch64_ldff1vnx4si */

    case 3:
      if (pattern631 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4735; /* aarch64_ldff1vnx2di */

    case 4:
      if (pattern631 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4737; /* aarch64_ldff1vnx8bf */

    case 5:
      if (pattern631 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4739; /* aarch64_ldff1vnx8hf */

    case 6:
      if (pattern631 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4741; /* aarch64_ldff1vnx4sf */

    case 7:
      if (pattern631 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4743; /* aarch64_ldff1vnx2df */

    default:
      return -1;
    }
}

static int
recog_337 (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) != E_VNx16BImode
      || !register_operand (operands[0], E_VNx16BImode))
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], E_VNx16BImode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[3]))
    {
    case E_VNx16BImode:
      if (!aarch64_simd_imm_zero (operands[3], E_VNx16BImode)
          || !
#line 8852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8822; /* aarch64_sve_trn1_convvnx16bi */

    case E_VNx8BImode:
      if (!aarch64_simd_imm_zero (operands[3], E_VNx8BImode)
          || !
#line 8852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8823; /* aarch64_sve_trn1_convvnx8bi */

    case E_VNx4BImode:
      if (!aarch64_simd_imm_zero (operands[3], E_VNx4BImode)
          || !
#line 8852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8824; /* aarch64_sve_trn1_convvnx4bi */

    case E_VNx2BImode:
      if (!aarch64_simd_imm_zero (operands[3], E_VNx2BImode)
          || !
#line 8852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8825; /* aarch64_sve_trn1_convvnx2bi */

    default:
      return -1;
    }
}

static int
recog_338 (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);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!aarch64_sve_ptrue_flag (operands[2], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16BImode:
      if (pattern634 (x2, E_VNx16BImode) != 0
          || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
        return -1;
      *pnum_clobbers = 1;
      return 8961; /* aarch64_sve_pnextvnx16bi */

    case E_VNx8BImode:
      if (pattern634 (x2, E_VNx8BImode) != 0
          || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      *pnum_clobbers = 1;
      return 8962; /* aarch64_sve_pnextvnx8bi */

    case E_VNx4BImode:
      if (pattern634 (x2, E_VNx4BImode) != 0
          || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      *pnum_clobbers = 1;
      return 8963; /* aarch64_sve_pnextvnx4bi */

    case E_VNx2BImode:
      if (pattern634 (x2, E_VNx2BImode) != 0
          || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      *pnum_clobbers = 1;
      return 8964; /* aarch64_sve_pnextvnx2bi */

    default:
      return -1;
    }
}

static int
recog_339 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern520 (x2, E_VNx16QImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9449; /* aarch64_sve_srivnx16qi */

    case E_VNx8HImode:
      if (pattern520 (x2, E_VNx8HImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9451; /* aarch64_sve_srivnx8hi */

    case E_VNx4SImode:
      if (pattern520 (x2, E_VNx4SImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9453; /* aarch64_sve_srivnx4si */

    case E_VNx2DImode:
      if (pattern520 (x2, E_VNx2DImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9455; /* aarch64_sve_srivnx2di */

    default:
      return -1;
    }
}

static int
recog_340 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern519 (x2, E_VNx16QImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9448; /* aarch64_sve_slivnx16qi */

    case E_VNx8HImode:
      if (pattern519 (x2, E_VNx8HImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9450; /* aarch64_sve_slivnx8hi */

    case E_VNx4SImode:
      if (pattern519 (x2, E_VNx4SImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9452; /* aarch64_sve_slivnx4si */

    case E_VNx2DImode:
      if (pattern519 (x2, E_VNx2DImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9454; /* aarch64_sve_slivnx2di */

    default:
      return -1;
    }
}

static int
recog_341 (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 (pattern213 (x2))
    {
    case 0:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3185; /* aarch64_usri_nv8qi */

    case 1:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3189; /* aarch64_usri_nv16qi */

    case 2:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3193; /* aarch64_usri_nv4hi */

    case 3:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3197; /* aarch64_usri_nv8hi */

    case 4:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3201; /* aarch64_usri_nv2si */

    case 5:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3205; /* aarch64_usri_nv4si */

    case 6:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3209; /* aarch64_usri_nv2di */

    case 7:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3213; /* aarch64_usri_ndi */

    default:
      return -1;
    }
}

static int
recog_342 (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 (pattern213 (x2))
    {
    case 0:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3184; /* aarch64_ssri_nv8qi */

    case 1:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3188; /* aarch64_ssri_nv16qi */

    case 2:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3192; /* aarch64_ssri_nv4hi */

    case 3:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3196; /* aarch64_ssri_nv8hi */

    case 4:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3200; /* aarch64_ssri_nv2si */

    case 5:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3204; /* aarch64_ssri_nv4si */

    case 6:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3208; /* aarch64_ssri_nv2di */

    case 7:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3212; /* aarch64_ssri_ndi */

    default:
      return -1;
    }
}

static int
recog_343 (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 (pattern218 (x2))
    {
    case 0:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3183; /* aarch64_usli_nv8qi */

    case 1:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3187; /* aarch64_usli_nv16qi */

    case 2:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3191; /* aarch64_usli_nv4hi */

    case 3:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3195; /* aarch64_usli_nv8hi */

    case 4:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3199; /* aarch64_usli_nv2si */

    case 5:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3203; /* aarch64_usli_nv4si */

    case 6:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3207; /* aarch64_usli_nv2di */

    case 7:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3211; /* aarch64_usli_ndi */

    default:
      return -1;
    }
}

static int
recog_344 (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 (pattern218 (x2))
    {
    case 0:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3182; /* aarch64_ssli_nv8qi */

    case 1:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3186; /* aarch64_ssli_nv16qi */

    case 2:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3190; /* aarch64_ssli_nv4hi */

    case 3:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3194; /* aarch64_ssli_nv8hi */

    case 4:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3198; /* aarch64_ssli_nv2si */

    case 5:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3202; /* aarch64_ssli_nv4si */

    case 6:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3206; /* aarch64_ssli_nv2di */

    case 7:
      if (!
#line 6306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3210; /* aarch64_ssli_ndi */

    default:
      return -1;
    }
}

static int
recog_345 (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 (pattern213 (x2))
    {
    case 0:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3153; /* aarch64_ursra_nv8qi */

    case 1:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3157; /* aarch64_ursra_nv16qi */

    case 2:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3161; /* aarch64_ursra_nv4hi */

    case 3:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3165; /* aarch64_ursra_nv8hi */

    case 4:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3169; /* aarch64_ursra_nv2si */

    case 5:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3173; /* aarch64_ursra_nv4si */

    case 6:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3177; /* aarch64_ursra_nv2di */

    case 7:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3181; /* aarch64_ursra_ndi */

    default:
      return -1;
    }
}

static int
recog_346 (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 (pattern213 (x2))
    {
    case 0:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3152; /* aarch64_srsra_nv8qi */

    case 1:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3156; /* aarch64_srsra_nv16qi */

    case 2:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3160; /* aarch64_srsra_nv4hi */

    case 3:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3164; /* aarch64_srsra_nv8hi */

    case 4:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3168; /* aarch64_srsra_nv2si */

    case 5:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3172; /* aarch64_srsra_nv4si */

    case 6:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3176; /* aarch64_srsra_nv2di */

    case 7:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3180; /* aarch64_srsra_ndi */

    default:
      return -1;
    }
}

static int
recog_347 (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 (pattern213 (x2))
    {
    case 0:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3151; /* aarch64_usra_nv8qi */

    case 1:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3155; /* aarch64_usra_nv16qi */

    case 2:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3159; /* aarch64_usra_nv4hi */

    case 3:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3163; /* aarch64_usra_nv8hi */

    case 4:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3167; /* aarch64_usra_nv2si */

    case 5:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3171; /* aarch64_usra_nv4si */

    case 6:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3175; /* aarch64_usra_nv2di */

    case 7:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3179; /* aarch64_usra_ndi */

    default:
      return -1;
    }
}

static int
recog_348 (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 (pattern213 (x2))
    {
    case 0:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3150; /* aarch64_ssra_nv8qi */

    case 1:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3154; /* aarch64_ssra_nv16qi */

    case 2:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3158; /* aarch64_ssra_nv4hi */

    case 3:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3162; /* aarch64_ssra_nv8hi */

    case 4:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3166; /* aarch64_ssra_nv2si */

    case 5:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3170; /* aarch64_ssra_nv4si */

    case 6:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3174; /* aarch64_ssra_nv2di */

    case 7:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3178; /* aarch64_ssra_ndi */

    default:
      return -1;
    }
}

static int
recog_349 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HImode:
      if (pattern231 (x2, E_VNx8HFmode, E_VNx8BImode, E_VNx8HImode) != 0
          || !
#line 2206 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9894; /* aarch64_pred_flogbvnx8hf */

    case E_VNx4SImode:
      if (pattern231 (x2, E_VNx4SFmode, E_VNx4BImode, E_VNx4SImode) != 0
          || !
#line 2206 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9895; /* aarch64_pred_flogbvnx4sf */

    case E_VNx2DImode:
      if (pattern231 (x2, E_VNx2DFmode, E_VNx2BImode, E_VNx2DImode) != 0
          || !
#line 2206 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9896; /* aarch64_pred_flogbvnx2df */

    default:
      return -1;
    }
}

static int
recog_350 (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 (pattern235 (x2))
    {
    case 0:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 8881; /* aarch64_sve_float_nonextendvnx8hivnx8hf */

    case 1:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8883; /* aarch64_sve_float_nonextendvnx4sivnx8hf */

    case 2:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8887; /* aarch64_sve_float_nonextendvnx2divnx8hf */

    case 3:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8885; /* aarch64_sve_float_nonextendvnx4sivnx4sf */

    case 4:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8889; /* aarch64_sve_float_nonextendvnx2divnx4sf */

    case 5:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8891; /* aarch64_sve_float_nonextendvnx2divnx2df */

    case 6:
      if (!
#line 9148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8893; /* aarch64_sve_float_extendvnx4sivnx2df */

    default:
      return -1;
    }
}

static int
recog_351 (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 (pattern235 (x2))
    {
    case 0:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 8882; /* aarch64_sve_floatuns_nonextendvnx8hivnx8hf */

    case 1:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8884; /* aarch64_sve_floatuns_nonextendvnx4sivnx8hf */

    case 2:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8888; /* aarch64_sve_floatuns_nonextendvnx2divnx8hf */

    case 3:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8886; /* aarch64_sve_floatuns_nonextendvnx4sivnx4sf */

    case 4:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8890; /* aarch64_sve_floatuns_nonextendvnx2divnx4sf */

    case 5:
      if (!
#line 9133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8892; /* aarch64_sve_floatuns_nonextendvnx2divnx2df */

    case 6:
      if (!
#line 9148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8894; /* aarch64_sve_floatuns_extendvnx4sivnx2df */

    default:
      return -1;
    }
}

static int
recog_352 (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 (pattern233 (x2))
    {
    case 0:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 8842; /* aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx8hi */

    case 1:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8844; /* aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx4si */

    case 2:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8846; /* aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx4si */

    case 3:
      if (!
#line 8961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8854; /* aarch64_sve_fixuns_trunc_truncvnx2dfvnx4si */

    case 4:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8848; /* aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx2di */

    case 5:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8850; /* aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx2di */

    case 6:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8852; /* aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx2di */

    default:
      return -1;
    }
}

static int
recog_353 (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 (pattern233 (x2))
    {
    case 0:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 8841; /* aarch64_sve_fix_trunc_nontruncvnx8hfvnx8hi */

    case 1:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8843; /* aarch64_sve_fix_trunc_nontruncvnx8hfvnx4si */

    case 2:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8845; /* aarch64_sve_fix_trunc_nontruncvnx4sfvnx4si */

    case 3:
      if (!
#line 8961 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8853; /* aarch64_sve_fix_trunc_truncvnx2dfvnx4si */

    case 4:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8847; /* aarch64_sve_fix_trunc_nontruncvnx8hfvnx2di */

    case 5:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8849; /* aarch64_sve_fix_trunc_nontruncvnx4sfvnx2di */

    case 6:
      if (!
#line 8946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8851; /* aarch64_sve_fix_trunc_nontruncvnx2dfvnx2di */

    default:
      return -1;
    }
}

static int
recog_354 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!const_int_operand (operands[3], E_DImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (pattern61 (x2, E_VNx8HFmode) != 0
          || !
#line 7479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7566; /* aarch64_sve_tmadvnx8hf */

    case E_VNx4SFmode:
      if (pattern61 (x2, E_VNx4SFmode) != 0
          || !
#line 7479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7567; /* aarch64_sve_tmadvnx4sf */

    case E_VNx2DFmode:
      if (pattern61 (x2, E_VNx2DFmode) != 0
          || !
#line 7479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7568; /* aarch64_sve_tmadvnx2df */

    default:
      return -1;
    }
}

static int
recog_355 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9821; /* aarch64_sve_sqrdcmlah270vnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9829; /* aarch64_sve_sqrdcmlah270vnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9837; /* aarch64_sve_sqrdcmlah270vnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9845; /* aarch64_sve_sqrdcmlah270vnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9853; /* aarch64_sqrdcmlah270_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9861; /* aarch64_sqrdcmlah270_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_356 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9820; /* aarch64_sve_sqrdcmlah180vnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9828; /* aarch64_sve_sqrdcmlah180vnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9836; /* aarch64_sve_sqrdcmlah180vnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9844; /* aarch64_sve_sqrdcmlah180vnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9852; /* aarch64_sqrdcmlah180_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9860; /* aarch64_sqrdcmlah180_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_357 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9819; /* aarch64_sve_sqrdcmlah90vnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9827; /* aarch64_sve_sqrdcmlah90vnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9835; /* aarch64_sve_sqrdcmlah90vnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9843; /* aarch64_sve_sqrdcmlah90vnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9851; /* aarch64_sqrdcmlah90_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9859; /* aarch64_sqrdcmlah90_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_358 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9818; /* aarch64_sve_sqrdcmlahvnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9826; /* aarch64_sve_sqrdcmlahvnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9834; /* aarch64_sve_sqrdcmlahvnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9842; /* aarch64_sve_sqrdcmlahvnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9850; /* aarch64_sqrdcmlah_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9858; /* aarch64_sqrdcmlah_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_359 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9817; /* aarch64_sve_cmla270vnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9825; /* aarch64_sve_cmla270vnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9833; /* aarch64_sve_cmla270vnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9841; /* aarch64_sve_cmla270vnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9849; /* aarch64_cmla270_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9857; /* aarch64_cmla270_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_360 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9816; /* aarch64_sve_cmla180vnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9824; /* aarch64_sve_cmla180vnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9832; /* aarch64_sve_cmla180vnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9840; /* aarch64_sve_cmla180vnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9848; /* aarch64_cmla180_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9856; /* aarch64_cmla180_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_361 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9815; /* aarch64_sve_cmla90vnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9823; /* aarch64_sve_cmla90vnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9831; /* aarch64_sve_cmla90vnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9839; /* aarch64_sve_cmla90vnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9847; /* aarch64_cmla90_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9855; /* aarch64_cmla90_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_362 (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 (pattern248 (x2))
    {
    case 0:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9814; /* aarch64_sve_cmlavnx16qi */

    case 1:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9822; /* aarch64_sve_cmlavnx8hi */

    case 2:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9830; /* aarch64_sve_cmlavnx4si */

    case 3:
      if (!
#line 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9838; /* aarch64_sve_cmlavnx2di */

    case 4:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9846; /* aarch64_cmla_lane_vnx8hi */

    case 5:
      if (!
#line 1844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9854; /* aarch64_cmla_lane_vnx4si */

    default:
      return -1;
    }
}

static int
recog_363 (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) != E_VNx16BImode
      || !register_operand (operands[0], E_VNx16BImode))
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], E_VNx16BImode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!aarch64_sve_ptrue_flag (operands[2], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  if (!register_operand (operands[3], E_VNx16BImode)
      || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
    return -1;
  *pnum_clobbers = 1;
  return 8960; /* aarch64_sve_pfirstvnx16bi */
}

static int
recog_364 (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 = XVECEXP (x2, 0, 0);
  operands[3] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_HFmode:
      if (pattern518 (x2, E_VNx8HFmode, E_HFmode, E_VNx8BImode) != 0
          || !
#line 8617 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8544; /* mask_fold_left_plus_vnx8hf */

    case E_SFmode:
      if (pattern518 (x2, E_VNx4SFmode, E_SFmode, E_VNx4BImode) != 0
          || !
#line 8617 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8545; /* mask_fold_left_plus_vnx4sf */

    case E_DFmode:
      if (pattern518 (x2, E_VNx2DFmode, E_DFmode, E_VNx2BImode) != 0
          || !
#line 8617 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8546; /* mask_fold_left_plus_vnx2df */

    default:
      return -1;
    }
}

static int
recog_365 (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) != E_VNx4SFmode
      || !register_operand (operands[0], E_VNx4SFmode))
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], E_VNx2BImode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  if (!register_operand (operands[2], E_VNx2DFmode)
      || !
#line 2039 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return -1;
  return 9886; /* aarch64_pred_fcvtxvnx4sf */
}

static int
recog_366 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  if (!aarch64_sve_gp_strictness (operands[3], E_SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx4SFmode:
      if (pattern231 (x2, E_VNx8HFmode, E_VNx4BImode, E_VNx4SFmode) != 0
          || !
#line 1950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9878; /* aarch64_pred_fcvtltvnx4sf */

    case E_VNx2DFmode:
      if (pattern231 (x2, E_VNx4SFmode, E_VNx2BImode, E_VNx2DFmode) != 0
          || !
#line 1950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9879; /* aarch64_pred_fcvtltvnx2df */

    default:
      return -1;
    }
}

static int
recog_367 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx4SImode:
      if (pattern243 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 2429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9942; /* aarch64_sve2_histcntvnx4si */

    case E_VNx2DImode:
      if (pattern243 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 2429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9943; /* aarch64_sve2_histcntvnx2di */

    default:
      return -1;
    }
}

static int
recog_368 (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 (pattern250 (x2))
    {
    case 0:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9865; /* aarch64_sve_cdot270vnx4si */

    case 1:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9869; /* aarch64_sve_cdot270vnx2di */

    case 2:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9873; /* aarch64_cdot270_lane_vnx4si */

    case 3:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9877; /* aarch64_cdot270_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_369 (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 (pattern250 (x2))
    {
    case 0:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9863; /* aarch64_sve_cdot90vnx4si */

    case 1:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9867; /* aarch64_sve_cdot90vnx2di */

    case 2:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9871; /* aarch64_cdot90_lane_vnx4si */

    case 3:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9875; /* aarch64_cdot90_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_370 (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 (pattern250 (x2))
    {
    case 0:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9864; /* aarch64_sve_cdot180vnx4si */

    case 1:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9868; /* aarch64_sve_cdot180vnx2di */

    case 2:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9872; /* aarch64_cdot180_lane_vnx4si */

    case 3:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9876; /* aarch64_cdot180_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_371 (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 (pattern250 (x2))
    {
    case 0:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9862; /* aarch64_sve_cdotvnx4si */

    case 1:
      if (!
#line 1907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9866; /* aarch64_sve_cdotvnx2di */

    case 2:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9870; /* aarch64_cdot_lane_vnx4si */

    case 3:
      if (!
#line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9874; /* aarch64_cdot_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_372 (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 (pattern244 (x2))
    {
    case 0:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9755; /* aarch64_pred_uminpvnx16qi */

    case 1:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9760; /* aarch64_pred_uminpvnx8hi */

    case 2:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9765; /* aarch64_pred_uminpvnx4si */

    case 3:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9770; /* aarch64_pred_uminpvnx2di */

    default:
      return -1;
    }
}

static int
recog_373 (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 (pattern244 (x2))
    {
    case 0:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9753; /* aarch64_pred_sminpvnx16qi */

    case 1:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9758; /* aarch64_pred_sminpvnx8hi */

    case 2:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9763; /* aarch64_pred_sminpvnx4si */

    case 3:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9768; /* aarch64_pred_sminpvnx2di */

    default:
      return -1;
    }
}

static int
recog_374 (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 (pattern244 (x2))
    {
    case 0:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9752; /* aarch64_pred_smaxpvnx16qi */

    case 1:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9757; /* aarch64_pred_smaxpvnx8hi */

    case 2:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9762; /* aarch64_pred_smaxpvnx4si */

    case 3:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9767; /* aarch64_pred_smaxpvnx2di */

    default:
      return -1;
    }
}

static int
recog_375 (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 (pattern244 (x2))
    {
    case 0:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9754; /* aarch64_pred_umaxpvnx16qi */

    case 1:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9759; /* aarch64_pred_umaxpvnx8hi */

    case 2:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9764; /* aarch64_pred_umaxpvnx4si */

    case 3:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9769; /* aarch64_pred_umaxpvnx2di */

    default:
      return -1;
    }
}

static int
recog_376 (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 (pattern244 (x2))
    {
    case 0:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9751; /* aarch64_pred_addpvnx16qi */

    case 1:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9756; /* aarch64_pred_addpvnx8hi */

    case 2:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9761; /* aarch64_pred_addpvnx4si */

    case 3:
      if (!
#line 1670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9766; /* aarch64_pred_addpvnx2di */

    default:
      return -1;
    }
}

static int
recog_377 (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 (pattern238 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9333; /* aarch64_sve_sbcltvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9341; /* aarch64_sve_sbcltvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9349; /* aarch64_sve_sbcltvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9357; /* aarch64_sve_sbcltvnx2di */

    default:
      return -1;
    }
}

static int
recog_378 (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 (pattern238 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9332; /* aarch64_sve_sbclbvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9340; /* aarch64_sve_sbclbvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9348; /* aarch64_sve_sbclbvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9356; /* aarch64_sve_sbclbvnx2di */

    default:
      return -1;
    }
}

static int
recog_379 (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 (pattern238 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9331; /* aarch64_sve_eortbvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9339; /* aarch64_sve_eortbvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9347; /* aarch64_sve_eortbvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9355; /* aarch64_sve_eortbvnx2di */

    default:
      return -1;
    }
}

static int
recog_380 (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 (pattern238 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9329; /* aarch64_sve_adcltvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9337; /* aarch64_sve_adcltvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9345; /* aarch64_sve_adcltvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9353; /* aarch64_sve_adcltvnx2di */

    default:
      return -1;
    }
}

static int
recog_381 (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 (pattern238 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9330; /* aarch64_sve_eorbtvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9338; /* aarch64_sve_eorbtvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9346; /* aarch64_sve_eorbtvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9354; /* aarch64_sve_eorbtvnx2di */

    default:
      return -1;
    }
}

static int
recog_382 (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 (pattern238 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9328; /* aarch64_sve_adclbvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9336; /* aarch64_sve_adclbvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9344; /* aarch64_sve_adclbvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9352; /* aarch64_sve_adclbvnx2di */

    default:
      return -1;
    }
}

static int
recog_383 (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 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[3] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx4SFmode:
      if (pattern237 (x2, E_VNx4SFmode) != 0
          || !(
#line 7541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE_F32MM)))
        return -1;
      return 7576; /* aarch64_sve_fmmlavnx4sf */

    case E_VNx2DFmode:
      if (pattern237 (x2, E_VNx2DFmode) != 0
          || !(
#line 7541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE_F64MM)))
        return -1;
      return 7577; /* aarch64_sve_fmmlavnx2df */

    default:
      return -1;
    }
}

static int
recog_384 (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 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_SFmode:
      if (pattern513 (x2, E_SImode, E_SFmode) != 0
          || !
#line 6688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && TARGET_SIMD))
        return -1;
      return 1014; /* copysignsf3_insn */

    case E_DFmode:
      if (pattern513 (x2, E_DImode, E_DFmode) != 0
          || !
#line 6688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && TARGET_SIMD))
        return -1;
      return 1015; /* copysigndf3_insn */

    default:
      return -1;
    }
}

static int
recog_385 (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 (XINT (x2, 1))
    {
    case 147:
      return recog_384 (x1, insn, pnum_clobbers);

    case 67:
      switch (pattern202 (x2, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1630; /* aarch64_sabalv8qi */

        case 1:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1632; /* aarch64_sabalv4hi */

        case 2:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1634; /* aarch64_sabalv2si */

        default:
          return -1;
        }

    case 91:
      switch (pattern202 (x2, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1631; /* aarch64_uabalv8qi */

        case 1:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1633; /* aarch64_uabalv4hi */

        case 2:
          if (!
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1635; /* aarch64_uabalv2si */

        default:
          return -1;
        }

    case 68:
      switch (pattern202 (x2, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1636; /* aarch64_sabal2v16qi */

        case 1:
          if (!
#line 889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1638; /* aarch64_sabal2v8hi */

        case 2:
          if (!
#line 889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1640; /* aarch64_sabal2v4si */

        default:
          return -1;
        }

    case 92:
      switch (pattern202 (x2, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1637; /* aarch64_uabal2v16qi */

        case 1:
          if (!
#line 889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1639; /* aarch64_uabal2v8hi */

        case 2:
          if (!
#line 889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1641; /* aarch64_uabal2v4si */

        default:
          return -1;
        }

    case 259:
      return recog_329 (x1, insn, pnum_clobbers);

    case 260:
      return recog_328 (x1, insn, pnum_clobbers);

    case 198:
      return recog_348 (x1, insn, pnum_clobbers);

    case 199:
      return recog_347 (x1, insn, pnum_clobbers);

    case 200:
      return recog_346 (x1, insn, pnum_clobbers);

    case 201:
      return recog_345 (x1, insn, pnum_clobbers);

    case 219:
      return recog_344 (x1, insn, pnum_clobbers);

    case 220:
      return recog_343 (x1, insn, pnum_clobbers);

    case 221:
      return recog_342 (x1, insn, pnum_clobbers);

    case 222:
      return recog_341 (x1, insn, pnum_clobbers);

    case 48:
      return recog_323 (x1, insn, pnum_clobbers);

    case 49:
      return recog_321 (x1, insn, pnum_clobbers);

    case 50:
      return recog_322 (x1, insn, pnum_clobbers);

    case 229:
      return recog_327 (x1, insn, pnum_clobbers);

    case 237:
      return recog_320 (x1, insn, pnum_clobbers);

    case 245:
      if (pattern219 (x2) != 0
          || !
#line 8155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4238; /* aarch64_crypto_sha1cv4si */

    case 246:
      if (pattern219 (x2) != 0
          || !
#line 8155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4239; /* aarch64_crypto_sha1mv4si */

    case 247:
      if (pattern219 (x2) != 0
          || !
#line 8155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4240; /* aarch64_crypto_sha1pv4si */

    case 249:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4241; /* aarch64_crypto_sha1su0v4si */

    case 251:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4242; /* aarch64_crypto_sha256hv4si */

    case 252:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4243; /* aarch64_crypto_sha256h2v4si */

    case 254:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4245; /* aarch64_crypto_sha256su1v4si */

    case 274:
      if (pattern220 (x2, E_V2DImode) != 0
          || !
#line 8213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
        return -1;
      return 4246; /* aarch64_crypto_sha512hqv2di */

    case 275:
      if (pattern220 (x2, E_V2DImode) != 0
          || !
#line 8213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
        return -1;
      return 4247; /* aarch64_crypto_sha512h2qv2di */

    case 277:
      if (pattern220 (x2, E_V2DImode) != 0
          || !
#line 8234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
        return -1;
      return 4249; /* aarch64_crypto_sha512su1qv2di */

    case 265:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8297 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4260; /* aarch64_sm3ss1qv4si */

    case 270:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4265; /* aarch64_sm3partw1qv4si */

    case 271:
      if (pattern220 (x2, E_V4SImode) != 0
          || !
#line 8321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4266; /* aarch64_sm3partw2qv4si */

    case 381:
      return recog_336 (x1, insn, pnum_clobbers);

    case 382:
      return recog_335 (x1, insn, pnum_clobbers);

    case 109:
      return recog_324 (x1, insn, pnum_clobbers);

    case 138:
      return recog_325 (x1, insn, pnum_clobbers);

    case 111:
      return recog_331 (x1, insn, pnum_clobbers);

    case 283:
      return recog_318 (x1, insn, pnum_clobbers);

    case 333:
      return recog_326 (x1, insn, pnum_clobbers);

    case 360:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5594; /* aarch64_pred_negvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5605; /* aarch64_pred_negvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5616; /* aarch64_pred_negvnx2df */

        default:
          return -1;
        }

    case 363:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5595; /* aarch64_pred_frecpxvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5606; /* aarch64_pred_frecpxvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5617; /* aarch64_pred_frecpxvnx2df */

        default:
          return -1;
        }

    case 364:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5596; /* aarch64_pred_roundvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5607; /* aarch64_pred_roundvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5618; /* aarch64_pred_roundvnx2df */

        default:
          return -1;
        }

    case 365:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5597; /* aarch64_pred_nearbyintvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5608; /* aarch64_pred_nearbyintvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5619; /* aarch64_pred_nearbyintvnx2df */

        default:
          return -1;
        }

    case 366:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5598; /* aarch64_pred_floorvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5609; /* aarch64_pred_floorvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5620; /* aarch64_pred_floorvnx2df */

        default:
          return -1;
        }

    case 367:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5599; /* aarch64_pred_frintnvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5610; /* aarch64_pred_frintnvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5621; /* aarch64_pred_frintnvnx2df */

        default:
          return -1;
        }

    case 368:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5600; /* aarch64_pred_ceilvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5611; /* aarch64_pred_ceilvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5622; /* aarch64_pred_ceilvnx2df */

        default:
          return -1;
        }

    case 369:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5601; /* aarch64_pred_rintvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5612; /* aarch64_pred_rintvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5623; /* aarch64_pred_rintvnx2df */

        default:
          return -1;
        }

    case 370:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5602; /* aarch64_pred_btruncvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5613; /* aarch64_pred_btruncvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5624; /* aarch64_pred_btruncvnx2df */

        default:
          return -1;
        }

    case 372:
      switch (pattern223 (x2))
        {
        case 0:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5603; /* aarch64_pred_sqrtvnx8hf */

        case 1:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5614; /* aarch64_pred_sqrtvnx4sf */

        case 2:
          if (!
#line 3410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5625; /* aarch64_pred_sqrtvnx2df */

        default:
          return -1;
        }

    case 306:
      switch (pattern225 (x2))
        {
        case 0:
          if (!
#line 7230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7492; /* aarch64_fma_lane_vnx8hf */

        case 1:
          if (!
#line 7230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7494; /* aarch64_fma_lane_vnx4sf */

        case 2:
          if (!
#line 7230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7496; /* aarch64_fma_lane_vnx2df */

        default:
          return -1;
        }

    case 307:
      switch (pattern225 (x2))
        {
        case 0:
          if (!
#line 7230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7493; /* aarch64_fnma_lane_vnx8hf */

        case 1:
          if (!
#line 7230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7495; /* aarch64_fnma_lane_vnx4sf */

        case 2:
          if (!
#line 7230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7497; /* aarch64_fnma_lane_vnx2df */

        default:
          return -1;
        }

    case 385:
      switch (pattern226 (x2))
        {
        case 0:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7558; /* aarch64_fcmla_lane_vnx8hf */

        case 1:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7562; /* aarch64_fcmla_lane_vnx4sf */

        default:
          return -1;
        }

    case 386:
      switch (pattern226 (x2))
        {
        case 0:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7559; /* aarch64_fcmla90_lane_vnx8hf */

        case 1:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7563; /* aarch64_fcmla90_lane_vnx4sf */

        default:
          return -1;
        }

    case 387:
      switch (pattern226 (x2))
        {
        case 0:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7560; /* aarch64_fcmla180_lane_vnx8hf */

        case 1:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7564; /* aarch64_fcmla180_lane_vnx4sf */

        default:
          return -1;
        }

    case 388:
      switch (pattern226 (x2))
        {
        case 0:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7561; /* aarch64_fcmla270_lane_vnx8hf */

        case 1:
          if (!
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7565; /* aarch64_fcmla270_lane_vnx4sf */

        default:
          return -1;
        }

    case 310:
      return recog_354 (x1, insn, pnum_clobbers);

    case 522:
      if (pattern227 (x2) != 0
          || !
#line 7503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7569; /* aarch64_sve_bfdotvnx4sf */

    case 523:
      if (pattern227 (x2) != 0
          || !
#line 7503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7570; /* aarch64_sve_bfmlalbvnx4sf */

    case 524:
      if (pattern227 (x2) != 0
          || !
#line 7503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7571; /* aarch64_sve_bfmlaltvnx4sf */

    case 525:
      if (pattern227 (x2) != 0
          || !
#line 7503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7572; /* aarch64_sve_bfmmlavnx4sf */

    case 309:
      return recog_383 (x1, insn, pnum_clobbers);

    case 119:
      return recog_319 (x1, insn, pnum_clobbers);

    case 140:
      return recog_333 (x1, insn, pnum_clobbers);

    case 141:
      return recog_334 (x1, insn, pnum_clobbers);

    case 142:
      return recog_364 (x1, insn, pnum_clobbers);

    case 158:
      return recog_332 (x1, insn, pnum_clobbers);

    case 322:
      return recog_337 (x1, insn, pnum_clobbers);

    case 349:
      return recog_353 (x1, insn, pnum_clobbers);

    case 350:
      return recog_352 (x1, insn, pnum_clobbers);

    case 374:
      return recog_350 (x1, insn, pnum_clobbers);

    case 375:
      return recog_351 (x1, insn, pnum_clobbers);

    case 348:
      return recog_330 (x1, insn, pnum_clobbers);

    case 284:
      if (pattern236 (x2) != 0
          || !
#line 9605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8945; /* aarch64_brka */

    case 285:
      if (pattern236 (x2) != 0
          || !
#line 9605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8946; /* aarch64_brkb */

    case 286:
      if (pattern220 (x2, E_VNx16BImode) != 0
          || !
#line 9676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8951; /* aarch64_brkn */

    case 287:
      if (pattern220 (x2, E_VNx16BImode) != 0
          || !
#line 9676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8952; /* aarch64_brkpa */

    case 288:
      if (pattern220 (x2, E_VNx16BImode) != 0
          || !
#line 9676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8953; /* aarch64_brkpb */

    case 289:
      return recog_363 (x1, insn, pnum_clobbers);

    case 290:
      return recog_338 (x1, insn, pnum_clobbers);

    case 394:
      return recog_382 (x1, insn, pnum_clobbers);

    case 395:
      return recog_380 (x1, insn, pnum_clobbers);

    case 420:
      return recog_381 (x1, insn, pnum_clobbers);

    case 421:
      return recog_379 (x1, insn, pnum_clobbers);

    case 452:
      return recog_378 (x1, insn, pnum_clobbers);

    case 453:
      return recog_377 (x1, insn, pnum_clobbers);

    case 456:
      return recog_340 (x1, insn, pnum_clobbers);

    case 484:
      return recog_339 (x1, insn, pnum_clobbers);

    case 427:
      switch (pattern239 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9653; /* aarch64_sve_fmlalbvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9657; /* aarch64_fmlalb_lane_vnx4sf */

        default:
          return -1;
        }

    case 428:
      switch (pattern239 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9654; /* aarch64_sve_fmlaltvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9658; /* aarch64_fmlalt_lane_vnx4sf */

        default:
          return -1;
        }

    case 429:
      switch (pattern239 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9655; /* aarch64_sve_fmlslbvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9659; /* aarch64_fmlslb_lane_vnx4sf */

        default:
          return -1;
        }

    case 430:
      switch (pattern239 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9656; /* aarch64_sve_fmlsltvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9660; /* aarch64_fmlslt_lane_vnx4sf */

        default:
          return -1;
        }

    case 397:
      switch (pattern241 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9691; /* aarch64_sve_addhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9695; /* aarch64_sve_addhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9699; /* aarch64_sve_addhntvnx2di */

        default:
          return -1;
        }

    case 440:
      switch (pattern241 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9692; /* aarch64_sve_raddhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9696; /* aarch64_sve_raddhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9700; /* aarch64_sve_raddhntvnx2di */

        default:
          return -1;
        }

    case 444:
      switch (pattern241 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9693; /* aarch64_sve_rsubhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9697; /* aarch64_sve_rsubhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9701; /* aarch64_sve_rsubhntvnx2di */

        default:
          return -1;
        }

    case 494:
      switch (pattern241 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9694; /* aarch64_sve_subhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9698; /* aarch64_sve_subhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9702; /* aarch64_sve_subhntvnx2di */

        default:
          return -1;
        }

    case 442:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9727; /* aarch64_sve_rshrntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9735; /* aarch64_sve_rshrntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9743; /* aarch64_sve_rshrntvnx2di */

        default:
          return -1;
        }

    case 455:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9728; /* aarch64_sve_shrntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9736; /* aarch64_sve_shrntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9744; /* aarch64_sve_shrntvnx2di */

        default:
          return -1;
        }

    case 473:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9729; /* aarch64_sve_sqrshrntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9737; /* aarch64_sve_sqrshrntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9745; /* aarch64_sve_sqrshrntvnx2di */

        default:
          return -1;
        }

    case 475:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9730; /* aarch64_sve_sqrshruntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9738; /* aarch64_sve_sqrshruntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9746; /* aarch64_sve_sqrshruntvnx2di */

        default:
          return -1;
        }

    case 477:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9731; /* aarch64_sve_sqshrntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9739; /* aarch64_sve_sqshrntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9747; /* aarch64_sve_sqshrntvnx2di */

        default:
          return -1;
        }

    case 479:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9732; /* aarch64_sve_sqshruntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9740; /* aarch64_sve_sqshruntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9748; /* aarch64_sve_sqshruntvnx2di */

        default:
          return -1;
        }

    case 509:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9733; /* aarch64_sve_uqrshrntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9741; /* aarch64_sve_uqrshrntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9749; /* aarch64_sve_uqrshrntvnx2di */

        default:
          return -1;
        }

    case 511:
      switch (pattern242 (x2))
        {
        case 0:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9734; /* aarch64_sve_uqshrntvnx8hi */

        case 1:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9742; /* aarch64_sve_uqshrntvnx4si */

        case 2:
          if (!
#line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9750; /* aarch64_sve_uqshrntvnx2di */

        default:
          return -1;
        }

    case 225:
      return recog_376 (x1, insn, pnum_clobbers);

    case 457:
      return recog_374 (x1, insn, pnum_clobbers);

    case 458:
      return recog_373 (x1, insn, pnum_clobbers);

    case 502:
      return recog_375 (x1, insn, pnum_clobbers);

    case 503:
      return recog_372 (x1, insn, pnum_clobbers);

    case 422:
      switch (pattern245 (x2))
        {
        case 0:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9771; /* aarch64_pred_faddpvnx8hf */

        case 1:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9776; /* aarch64_pred_faddpvnx4sf */

        case 2:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9781; /* aarch64_pred_faddpvnx2df */

        default:
          return -1;
        }

    case 424:
      switch (pattern245 (x2))
        {
        case 0:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9772; /* aarch64_pred_fmaxpvnx8hf */

        case 1:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9777; /* aarch64_pred_fmaxpvnx4sf */

        case 2:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9782; /* aarch64_pred_fmaxpvnx2df */

        default:
          return -1;
        }

    case 423:
      switch (pattern245 (x2))
        {
        case 0:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9773; /* aarch64_pred_fmaxnmpvnx8hf */

        case 1:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9778; /* aarch64_pred_fmaxnmpvnx4sf */

        case 2:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9783; /* aarch64_pred_fmaxnmpvnx2df */

        default:
          return -1;
        }

    case 426:
      switch (pattern245 (x2))
        {
        case 0:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9774; /* aarch64_pred_fminpvnx8hf */

        case 1:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9779; /* aarch64_pred_fminpvnx4sf */

        case 2:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9784; /* aarch64_pred_fminpvnx2df */

        default:
          return -1;
        }

    case 425:
      switch (pattern245 (x2))
        {
        case 0:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9775; /* aarch64_pred_fminnmpvnx8hf */

        case 1:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9780; /* aarch64_pred_fminnmpvnx4sf */

        case 2:
          if (!
#line 1695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9785; /* aarch64_pred_fminnmpvnx2df */

        default:
          return -1;
        }

    case 407:
      return recog_362 (x1, insn, pnum_clobbers);

    case 410:
      return recog_361 (x1, insn, pnum_clobbers);

    case 408:
      return recog_360 (x1, insn, pnum_clobbers);

    case 409:
      return recog_359 (x1, insn, pnum_clobbers);

    case 468:
      return recog_358 (x1, insn, pnum_clobbers);

    case 471:
      return recog_357 (x1, insn, pnum_clobbers);

    case 469:
      return recog_356 (x1, insn, pnum_clobbers);

    case 470:
      return recog_355 (x1, insn, pnum_clobbers);

    case 403:
      return recog_371 (x1, insn, pnum_clobbers);

    case 406:
      return recog_369 (x1, insn, pnum_clobbers);

    case 404:
      return recog_370 (x1, insn, pnum_clobbers);

    case 405:
      return recog_368 (x1, insn, pnum_clobbers);

    case 415:
      return recog_366 (x1, insn, pnum_clobbers);

    case 417:
      return recog_365 (x1, insn, pnum_clobbers);

    case 419:
      return recog_349 (x1, insn, pnum_clobbers);

    case 431:
      return recog_367 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_386 (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, 3);
  switch (GET_MODE (x3))
    {
    case E_VNx16BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8275; /* while_wrsivnx16bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8285; /* while_wrdivnx16bi_ptest */

    case E_VNx8BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8295; /* while_wrsivnx8bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8305; /* while_wrdivnx8bi_ptest */

    case E_VNx4BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8315; /* while_wrsivnx4bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8325; /* while_wrdivnx4bi_ptest */

    case E_VNx2BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8335; /* while_wrsivnx2bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8345; /* while_wrdivnx2bi_ptest */

    default:
      return -1;
    }
}

static int
recog_387 (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, 3);
  switch (GET_MODE (x3))
    {
    case E_VNx16BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8274; /* while_rwsivnx16bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8284; /* while_rwdivnx16bi_ptest */

    case E_VNx8BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8294; /* while_rwsivnx8bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8304; /* while_rwdivnx8bi_ptest */

    case E_VNx4BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8314; /* while_rwsivnx4bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8324; /* while_rwdivnx4bi_ptest */

    case E_VNx2BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8334; /* while_rwsivnx2bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8344; /* while_rwdivnx2bi_ptest */

    default:
      return -1;
    }
}

static int
recog_388 (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, 3);
  switch (GET_MODE (x3))
    {
    case E_VNx16BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8273; /* while_ugesivnx16bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8283; /* while_ugedivnx16bi_ptest */

    case E_VNx8BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8293; /* while_ugesivnx8bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8303; /* while_ugedivnx8bi_ptest */

    case E_VNx4BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8313; /* while_ugesivnx4bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8323; /* while_ugedivnx4bi_ptest */

    case E_VNx2BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8333; /* while_ugesivnx2bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8343; /* while_ugedivnx2bi_ptest */

    default:
      return -1;
    }
}

static int
recog_389 (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 = XVECEXP (x2, 0, 3);
  if (XVECLEN (x3, 0) != 2)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[3] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[4] = x5;
  x6 = XVECEXP (x3, 0, 0);
  operands[1] = x6;
  x7 = XVECEXP (x3, 0, 1);
  operands[2] = x7;
  switch (XINT (x3, 1))
    {
    case 131:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8266; /* while_lesivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8276; /* while_ledivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8286; /* while_lesivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8296; /* while_ledivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8306; /* while_lesivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8316; /* while_ledivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8326; /* while_lesivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8336; /* while_ledivnx2bi_ptest */

        default:
          return -1;
        }

    case 132:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8267; /* while_ultsivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8277; /* while_ultdivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8287; /* while_ultsivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8297; /* while_ultdivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8307; /* while_ultsivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8317; /* while_ultdivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8327; /* while_ultsivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8337; /* while_ultdivnx2bi_ptest */

        default:
          return -1;
        }

    case 133:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8268; /* while_ulesivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8278; /* while_uledivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8288; /* while_ulesivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8298; /* while_uledivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8308; /* while_ulesivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8318; /* while_uledivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8328; /* while_ulesivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8338; /* while_uledivnx2bi_ptest */

        default:
          return -1;
        }

    case 134:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8269; /* while_ltsivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8279; /* while_ltdivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8289; /* while_ltsivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8299; /* while_ltdivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8309; /* while_ltsivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8319; /* while_ltdivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            {
              *pnum_clobbers = 1;
              return 8329; /* while_ltsivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 8339; /* while_ltdivnx2bi_ptest */

        default:
          return -1;
        }

    case 127:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8270; /* while_gesivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8280; /* while_gedivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8290; /* while_gesivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8300; /* while_gedivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8310; /* while_gesivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8320; /* while_gedivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8330; /* while_gesivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8340; /* while_gedivnx2bi_ptest */

        default:
          return -1;
        }

    case 128:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8271; /* while_gtsivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8281; /* while_gtdivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8291; /* while_gtsivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8301; /* while_gtdivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8311; /* while_gtsivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8321; /* while_gtdivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8331; /* while_gtsivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8341; /* while_gtdivnx2bi_ptest */

        default:
          return -1;
        }

    case 129:
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8272; /* while_ugtsivnx16bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8282; /* while_ugtdivnx16bi_ptest */

        case E_VNx8BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8292; /* while_ugtsivnx8bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8302; /* while_ugtdivnx8bi_ptest */

        case E_VNx4BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8312; /* while_ugtsivnx4bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8322; /* while_ugtdivnx4bi_ptest */

        case E_VNx2BImode:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            {
              *pnum_clobbers = 1;
              return 8332; /* while_ugtsivnx2bi_ptest */
            }
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          *pnum_clobbers = 1;
          return 8342; /* while_ugtdivnx2bi_ptest */

        default:
          return -1;
        }

    case 130:
      return recog_388 (x1, insn, pnum_clobbers);

    case 135:
      return recog_387 (x1, insn, pnum_clobbers);

    case 136:
      return recog_386 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_390 (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 = XVECEXP (x2, 0, 2);
  if (XWINT (x3, 0) != 1L)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 66
      || GET_MODE (x4) != E_CC_NZCmode)
    return -1;
  x5 = XVECEXP (x2, 0, 3);
  switch (GET_CODE (x5))
    {
    case CONST:
      operands[1] = x5;
      if (!aarch64_sve_ptrue_svpattern_immediate (operands[1], E_VNx16BImode))
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 2
          || XINT (x6, 1) != 121
          || GET_MODE (x6) != E_VNx16BImode)
        return -1;
      x7 = XVECEXP (x2, 0, 0);
      operands[2] = x7;
      x8 = XVECEXP (x2, 0, 1);
      operands[3] = x8;
      x9 = XVECEXP (x6, 0, 0);
      operands[4] = x9;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      x10 = XVECEXP (x6, 0, 1);
      operands[5] = x10;
      if (!aarch64_simd_imm_zero (operands[5], E_VNx16BImode)
          || !
#line 1031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 4632; /* *aarch64_sve_ptruevnx16bi_ptest */

    case SUBREG:
      if (maybe_ne (SUBREG_BYTE (x5), 0))
        return -1;
      x6 = XEXP (x5, 0);
      if (!aarch64_sve_ptrue_svpattern_immediate (x6, E_VNx16BImode))
        return -1;
      operands[1] = x6;
      x11 = XEXP (x6, 0);
      if (GET_CODE (x11) != UNSPEC
          || XVECLEN (x11, 0) != 2
          || XINT (x11, 1) != 121
          || GET_MODE (x11) != E_VNx16BImode)
        return -1;
      x7 = XVECEXP (x2, 0, 0);
      operands[2] = x7;
      x8 = XVECEXP (x2, 0, 1);
      operands[3] = x8;
      x12 = XVECEXP (x11, 0, 0);
      operands[4] = x12;
      if (!const_int_operand (operands[4], E_SImode))
        return -1;
      x13 = XVECEXP (x11, 0, 1);
      operands[5] = x13;
      switch (GET_MODE (x5))
        {
        case E_VNx8BImode:
          if (!aarch64_simd_imm_zero (operands[5], E_VNx8BImode)
              || !
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4633; /* *aarch64_sve_ptruevnx8bi_ptest */

        case E_VNx4BImode:
          if (!aarch64_simd_imm_zero (operands[5], E_VNx4BImode)
              || !
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4634; /* *aarch64_sve_ptruevnx4bi_ptest */

        case E_VNx2BImode:
          if (!aarch64_simd_imm_zero (operands[5], E_VNx2BImode)
              || !
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4635; /* *aarch64_sve_ptruevnx2bi_ptest */

        default:
          return -1;
        }

    case REG:
      if (REGNO (x5) != 85
          || GET_MODE (x5) != E_VNx16BImode)
        return -1;
      x7 = XVECEXP (x2, 0, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_VNx16BImode))
        return -1;
      x8 = XVECEXP (x2, 0, 1);
      if (!rtx_equal_p (x8, operands[1])
          || !
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 4642; /* *aarch64_rdffr_ptest */

    case UNSPEC:
      return recog_389 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_391 (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;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 3);
  if (XVECLEN (x3, 0) != 3)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  switch (XINT (x3, 1))
    {
    case 119:
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[5] = x6;
      x7 = XVECEXP (x3, 0, 0);
      operands[6] = x7;
      x8 = XVECEXP (x3, 0, 1);
      operands[7] = x8;
      if (!aarch64_sve_ptrue_flag (operands[7], E_SImode))
        return -1;
      x9 = XVECEXP (x3, 0, 2);
      switch (GET_CODE (x9))
        {
        case LT:
          switch (pattern903 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7816; /* *cmpltvnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7826; /* *cmpltvnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7856; /* *cmpltvnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7836; /* *cmpltvnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7866; /* *cmpltvnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7886; /* *cmpltvnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7846; /* *cmpltvnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7876; /* *cmpltvnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7896; /* *cmpltvnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7906; /* *cmpltvnx2di_ptest */

            default:
              return -1;
            }

        case LE:
          switch (pattern903 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7817; /* *cmplevnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7827; /* *cmplevnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7857; /* *cmplevnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7837; /* *cmplevnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7867; /* *cmplevnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7887; /* *cmplevnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7847; /* *cmplevnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7877; /* *cmplevnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7897; /* *cmplevnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7907; /* *cmplevnx2di_ptest */

            default:
              return -1;
            }

        case EQ:
          switch (pattern903 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7818; /* *cmpeqvnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7828; /* *cmpeqvnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7858; /* *cmpeqvnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7838; /* *cmpeqvnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7868; /* *cmpeqvnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7888; /* *cmpeqvnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7848; /* *cmpeqvnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7878; /* *cmpeqvnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7898; /* *cmpeqvnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7908; /* *cmpeqvnx2di_ptest */

            default:
              return -1;
            }

        case NE:
          switch (pattern903 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7819; /* *cmpnevnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7829; /* *cmpnevnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7859; /* *cmpnevnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7839; /* *cmpnevnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7869; /* *cmpnevnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7889; /* *cmpnevnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7849; /* *cmpnevnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7879; /* *cmpnevnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7899; /* *cmpnevnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7909; /* *cmpnevnx2di_ptest */

            default:
              return -1;
            }

        case GE:
          switch (pattern903 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7820; /* *cmpgevnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7830; /* *cmpgevnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7860; /* *cmpgevnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7840; /* *cmpgevnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7870; /* *cmpgevnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7890; /* *cmpgevnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7850; /* *cmpgevnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7880; /* *cmpgevnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7900; /* *cmpgevnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7910; /* *cmpgevnx2di_ptest */

            default:
              return -1;
            }

        case GT:
          switch (pattern903 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7821; /* *cmpgtvnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7831; /* *cmpgtvnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7861; /* *cmpgtvnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7841; /* *cmpgtvnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7871; /* *cmpgtvnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7891; /* *cmpgtvnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7851; /* *cmpgtvnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7881; /* *cmpgtvnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7901; /* *cmpgtvnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7911; /* *cmpgtvnx2di_ptest */

            default:
              return -1;
            }

        case LTU:
          switch (pattern904 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7822; /* *cmplovnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7832; /* *cmplovnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7862; /* *cmplovnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7842; /* *cmplovnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7872; /* *cmplovnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7892; /* *cmplovnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7852; /* *cmplovnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7882; /* *cmplovnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7902; /* *cmplovnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7912; /* *cmplovnx2di_ptest */

            default:
              return -1;
            }

        case LEU:
          switch (pattern904 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7823; /* *cmplsvnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7833; /* *cmplsvnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7863; /* *cmplsvnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7843; /* *cmplsvnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7873; /* *cmplsvnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7893; /* *cmplsvnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7853; /* *cmplsvnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7883; /* *cmplsvnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7903; /* *cmplsvnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7913; /* *cmplsvnx2di_ptest */

            default:
              return -1;
            }

        case GEU:
          switch (pattern904 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7824; /* *cmphsvnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7834; /* *cmphsvnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7864; /* *cmphsvnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7844; /* *cmphsvnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7874; /* *cmphsvnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7894; /* *cmphsvnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7854; /* *cmphsvnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7884; /* *cmphsvnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7904; /* *cmphsvnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7914; /* *cmphsvnx2di_ptest */

            default:
              return -1;
            }

        case GTU:
          switch (pattern904 (x3))
            {
            case 0:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7825; /* *cmphivnx16qi_ptest */

            case 1:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7835; /* *cmphivnx8qi_ptest */

            case 2:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7865; /* *cmphivnx8hi_ptest */

            case 3:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7845; /* *cmphivnx4qi_ptest */

            case 4:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7875; /* *cmphivnx4hi_ptest */

            case 5:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7895; /* *cmphivnx4si_ptest */

            case 6:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7855; /* *cmphivnx2qi_ptest */

            case 7:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7885; /* *cmphivnx2hi_ptest */

            case 8:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7905; /* *cmphivnx2si_ptest */

            case 9:
              if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                return -1;
              *pnum_clobbers = 1;
              return 7915; /* *cmphivnx2di_ptest */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x9, 0) != 2)
            return -1;
          x10 = XVECEXP (x9, 0, 0);
          operands[2] = x10;
          x11 = XVECEXP (x9, 0, 1);
          operands[3] = x11;
          switch (XINT (x9, 1))
            {
            case 323:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8076; /* *aarch64_pred_cmpeqvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8086; /* *aarch64_pred_cmpeqvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8096; /* *aarch64_pred_cmpeqvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 324:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8077; /* *aarch64_pred_cmpgevnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8087; /* *aarch64_pred_cmpgevnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8097; /* *aarch64_pred_cmpgevnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 325:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8078; /* *aarch64_pred_cmpgtvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8088; /* *aarch64_pred_cmpgtvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8098; /* *aarch64_pred_cmpgtvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 326:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8079; /* *aarch64_pred_cmphivnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8089; /* *aarch64_pred_cmphivnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8099; /* *aarch64_pred_cmphivnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 327:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8080; /* *aarch64_pred_cmphsvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8090; /* *aarch64_pred_cmphsvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8100; /* *aarch64_pred_cmphsvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 328:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8081; /* *aarch64_pred_cmplevnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8091; /* *aarch64_pred_cmplevnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8101; /* *aarch64_pred_cmplevnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 329:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8082; /* *aarch64_pred_cmplovnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8092; /* *aarch64_pred_cmplovnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8102; /* *aarch64_pred_cmplovnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 330:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8083; /* *aarch64_pred_cmplsvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8093; /* *aarch64_pred_cmplsvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8103; /* *aarch64_pred_cmplsvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 331:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8084; /* *aarch64_pred_cmpltvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8094; /* *aarch64_pred_cmpltvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8104; /* *aarch64_pred_cmpltvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 332:
              switch (pattern931 (x3))
                {
                case 0:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8085; /* *aarch64_pred_cmpnevnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8095; /* *aarch64_pred_cmpnevnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 8105; /* *aarch64_pred_cmpnevnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 433:
              switch (pattern932 (x3))
                {
                case 0:
                  if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 9953; /* *aarch64_pred_matchvnx16qi_ptest */

                case 1:
                  if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 9955; /* *aarch64_pred_matchvnx8hi_ptest */

                default:
                  return -1;
                }

            case 434:
              switch (pattern932 (x3))
                {
                case 0:
                  if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 9954; /* *aarch64_pred_nmatchvnx16qi_ptest */

                case 1:
                  if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
                    return -1;
                  *pnum_clobbers = 1;
                  return 9956; /* *aarch64_pred_nmatchvnx8hi_ptest */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 284:
      if (pattern813 (x2) != 0
          || !
#line 9650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8949; /* *aarch64_brka_ptest */

    case 285:
      if (pattern813 (x2) != 0
          || !
#line 9650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8950; /* *aarch64_brkb_ptest */

    case 286:
      if (pattern814 (x2) != 0
          || !
#line 9717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8957; /* *aarch64_brkn_ptest */

    case 287:
      if (pattern814 (x2) != 0
          || !
#line 9717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8958; /* *aarch64_brkpa_ptest */

    case 288:
      if (pattern814 (x2) != 0
          || !
#line 9717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8959; /* *aarch64_brkpb_ptest */

    case 289:
      if (GET_MODE (x3) != E_VNx16BImode)
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      x7 = XVECEXP (x3, 0, 0);
      operands[4] = x7;
      x8 = XVECEXP (x3, 0, 1);
      operands[5] = x8;
      if (!aarch64_sve_ptrue_flag (operands[5], E_SImode))
        return -1;
      x9 = XVECEXP (x3, 0, 2);
      operands[6] = x9;
      if (!register_operand (operands[6], E_VNx16BImode)
          || !
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
        return -1;
      *pnum_clobbers = 1;
      return 8970; /* *aarch64_sve_pfirstvnx16bi_ptest */

    case 290:
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      x7 = XVECEXP (x3, 0, 0);
      operands[4] = x7;
      x8 = XVECEXP (x3, 0, 1);
      operands[5] = x8;
      if (!aarch64_sve_ptrue_flag (operands[5], E_SImode))
        return -1;
      x9 = XVECEXP (x3, 0, 2);
      operands[6] = x9;
      switch (GET_MODE (x3))
        {
        case E_VNx16BImode:
          if (!register_operand (operands[6], E_VNx16BImode)
              || !
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
            return -1;
          *pnum_clobbers = 1;
          return 8971; /* *aarch64_sve_pnextvnx16bi_ptest */

        case E_VNx8BImode:
          if (!register_operand (operands[6], E_VNx8BImode)
              || !
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
            return -1;
          *pnum_clobbers = 1;
          return 8972; /* *aarch64_sve_pnextvnx8bi_ptest */

        case E_VNx4BImode:
          if (!register_operand (operands[6], E_VNx4BImode)
              || !
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
            return -1;
          *pnum_clobbers = 1;
          return 8973; /* *aarch64_sve_pnextvnx4bi_ptest */

        case E_VNx2BImode:
          if (!register_operand (operands[6], E_VNx2BImode)
              || !
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
            return -1;
          *pnum_clobbers = 1;
          return 8974; /* *aarch64_sve_pnextvnx2bi_ptest */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_392 (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) != E_CC_NZCmode)
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  if (pnum_clobbers != NULL)
    {
      res = recog_390 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (!aarch64_sve_ptrue_flag (x3, E_SImode))
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 66
      || GET_MODE (x4) != E_CC_NZCmode)
    return -1;
  x5 = XVECEXP (x2, 0, 0);
  if (!register_operand (x5, E_VNx16BImode))
    return -1;
  x6 = XVECEXP (x2, 0, 3);
  switch (GET_CODE (x6))
    {
    case AND:
      if (pnum_clobbers == NULL)
        return -1;
      operands[1] = x5;
      x7 = XEXP (x6, 0);
      switch (GET_CODE (x7))
        {
        case REG:
          if (REGNO (x7) != 85
              || GET_MODE (x7) != E_VNx16BImode)
            return -1;
          operands[2] = x3;
          if (GET_MODE (x6) != E_VNx16BImode)
            return -1;
          x8 = XVECEXP (x2, 0, 1);
          if (!rtx_equal_p (x8, operands[1]))
            return -1;
          x9 = XEXP (x6, 1);
          if (!rtx_equal_p (x9, operands[1])
              || !
#line 1152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4641; /* *aarch64_rdffr_z_ptest */

        case AND:
          switch (pattern790 (x2))
            {
            case 0:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7254; /* *andvnx16bi3_ptest */

            case 1:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7257; /* *andvnx8bi3_ptest */

            case 2:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7260; /* *andvnx4bi3_ptest */

            case 3:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7263; /* *andvnx2bi3_ptest */

            case 4:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7282; /* *bicvnx16bi3_ptest */

            case 5:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7284; /* *bicvnx8bi3_ptest */

            case 6:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7286; /* *bicvnx4bi3_ptest */

            case 7:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7288; /* *bicvnx2bi3_ptest */

            case 8:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7306; /* *norvnx16bi3_ptest */

            case 9:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7308; /* *norvnx8bi3_ptest */

            case 10:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7310; /* *norvnx4bi3_ptest */

            case 11:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7312; /* *norvnx2bi3_ptest */

            default:
              return -1;
            }

        case IOR:
          switch (pattern790 (x2))
            {
            case 0:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7255; /* *iorvnx16bi3_ptest */

            case 1:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7258; /* *iorvnx8bi3_ptest */

            case 2:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7261; /* *iorvnx4bi3_ptest */

            case 3:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7264; /* *iorvnx2bi3_ptest */

            case 4:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7283; /* *ornvnx16bi3_ptest */

            case 5:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7285; /* *ornvnx8bi3_ptest */

            case 6:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7287; /* *ornvnx4bi3_ptest */

            case 7:
              if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7289; /* *ornvnx2bi3_ptest */

            case 8:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7307; /* *nandvnx16bi3_ptest */

            case 9:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7309; /* *nandvnx8bi3_ptest */

            case 10:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7311; /* *nandvnx4bi3_ptest */

            case 11:
              if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7313; /* *nandvnx2bi3_ptest */

            default:
              return -1;
            }

        case XOR:
          x8 = XVECEXP (x2, 0, 1);
          operands[4] = x8;
          operands[5] = x3;
          x10 = XEXP (x7, 0);
          operands[2] = x10;
          x11 = XEXP (x7, 1);
          operands[3] = x11;
          x9 = XEXP (x6, 1);
          if (!rtx_equal_p (x9, operands[4]))
            return -1;
          switch (pattern787 (x6))
            {
            case 0:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7256; /* *xorvnx16bi3_ptest */

            case 1:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7259; /* *xorvnx8bi3_ptest */

            case 2:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7262; /* *xorvnx4bi3_ptest */

            case 3:
              if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7265; /* *xorvnx2bi3_ptest */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      return recog_391 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
      operands[3] = x6;
      operands[0] = x5;
      x8 = XVECEXP (x2, 0, 1);
      operands[1] = x8;
      operands[2] = x3;
      switch (GET_MODE (operands[3]))
        {
        case E_VNx16BImode:
          if (!register_operand (operands[3], E_VNx16BImode)
              || !
#line 8440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8458; /* aarch64_ptestvnx16bi */

        case E_VNx8BImode:
          if (!register_operand (operands[3], E_VNx8BImode)
              || !
#line 8440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8459; /* aarch64_ptestvnx8bi */

        case E_VNx4BImode:
          if (!register_operand (operands[3], E_VNx4BImode)
              || !
#line 8440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8460; /* aarch64_ptestvnx4bi */

        case E_VNx2BImode:
          if (!register_operand (operands[3], E_VNx2BImode)
              || !
#line 8440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8461; /* aarch64_ptestvnx2bi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_393 (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 (pattern326 (x1) != 0)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 2);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[1] = x3;
      x4 = XVECEXP (x2, 0, 5);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[4] = x4;
          switch (GET_MODE (operands[5]))
            {
            case E_VNx4BImode:
              if (!register_operand (operands[5], E_VNx4BImode)
                  || !register_operand (operands[1], E_VNx4SImode))
                return -1;
              if (aarch64_sve_gather_offset_b (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_b (operands[3], E_DImode)
                  && register_operand (operands[4], E_VNx4QImode)
                  && 
#line 2263 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5012; /* mask_scatter_storevnx4qivnx4si */
              if (aarch64_sve_gather_offset_h (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_h (operands[3], E_DImode))
                {
                  switch (GET_MODE (operands[4]))
                    {
                    case E_VNx4HImode:
                      if (register_operand (operands[4], E_VNx4HImode)
                          && 
#line 2263 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5013; /* mask_scatter_storevnx4hivnx4si */
                      break;

                    case E_VNx4HFmode:
                      if (register_operand (operands[4], E_VNx4HFmode)
                          && 
#line 2263 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5014; /* mask_scatter_storevnx4hfvnx4si */
                      break;

                    case E_VNx4BFmode:
                      if (register_operand (operands[4], E_VNx4BFmode)
                          && 
#line 2263 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5015; /* mask_scatter_storevnx4bfvnx4si */
                      break;

                    default:
                      break;
                    }
                }
              if (!aarch64_sve_gather_offset_w (operands[0], E_DImode)
                  || !aarch64_gather_scale_operand_w (operands[3], E_DImode))
                return -1;
              switch (GET_MODE (operands[4]))
                {
                case E_VNx4SImode:
                  if (!register_operand (operands[4], E_VNx4SImode)
                      || !
#line 2263 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5016; /* mask_scatter_storevnx4sivnx4si */

                case E_VNx4SFmode:
                  if (!register_operand (operands[4], E_VNx4SFmode)
                      || !
#line 2263 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5017; /* mask_scatter_storevnx4sfvnx4si */

                default:
                  return -1;
                }

            case E_VNx2BImode:
              if (!register_operand (operands[5], E_VNx2BImode)
                  || !register_operand (operands[1], E_VNx2DImode))
                return -1;
              if (aarch64_sve_gather_offset_b (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_b (operands[3], E_DImode)
                  && register_operand (operands[4], E_VNx2QImode)
                  && 
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5018; /* mask_scatter_storevnx2qivnx2di */
              if (aarch64_sve_gather_offset_h (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_h (operands[3], E_DImode))
                {
                  switch (pattern905 ())
                    {
                    case 0:
                      if (
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5019; /* mask_scatter_storevnx2hivnx2di */
                      break;

                    case 1:
                      if (
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5020; /* mask_scatter_storevnx2hfvnx2di */
                      break;

                    case 2:
                      if (
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5021; /* mask_scatter_storevnx2bfvnx2di */
                      break;

                    default:
                      break;
                    }
                }
              if (aarch64_sve_gather_offset_w (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_w (operands[3], E_DImode))
                {
                  switch (GET_MODE (operands[4]))
                    {
                    case E_VNx2SImode:
                      if (register_operand (operands[4], E_VNx2SImode)
                          && 
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5022; /* mask_scatter_storevnx2sivnx2di */
                      break;

                    case E_VNx2SFmode:
                      if (register_operand (operands[4], E_VNx2SFmode)
                          && 
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5023; /* mask_scatter_storevnx2sfvnx2di */
                      break;

                    default:
                      break;
                    }
                }
              if (!aarch64_sve_gather_offset_d (operands[0], E_DImode)
                  || !aarch64_gather_scale_operand_d (operands[3], E_DImode))
                return -1;
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2DImode:
                  if (!register_operand (operands[4], E_VNx2DImode)
                      || !
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5024; /* mask_scatter_storevnx2divnx2di */

                case E_VNx2DFmode:
                  if (!register_operand (operands[4], E_VNx2DFmode)
                      || !
#line 2285 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5025; /* mask_scatter_storevnx2dfvnx2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case TRUNCATE:
          x5 = XEXP (x4, 0);
          operands[4] = x5;
          switch (GET_MODE (operands[5]))
            {
            case E_VNx4BImode:
              if (!register_operand (operands[5], E_VNx4BImode)
                  || !register_operand (operands[1], E_VNx4SImode)
                  || !register_operand (operands[4], E_VNx4SImode))
                return -1;
              if (aarch64_sve_gather_offset_b (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_b (operands[3], E_DImode)
                  && GET_MODE (x4) == E_VNx4QImode
                  && 
#line 2387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5058; /* aarch64_scatter_store_truncvnx4qivnx4si */
              if (!aarch64_sve_gather_offset_h (operands[0], E_DImode)
                  || !aarch64_gather_scale_operand_h (operands[3], E_DImode)
                  || GET_MODE (x4) != E_VNx4HImode
                  || !
#line 2387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5059; /* aarch64_scatter_store_truncvnx4hivnx4si */

            case E_VNx2BImode:
              if (!register_operand (operands[5], E_VNx2BImode)
                  || !register_operand (operands[1], E_VNx2DImode)
                  || !register_operand (operands[4], E_VNx2DImode))
                return -1;
              if (aarch64_sve_gather_offset_b (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_b (operands[3], E_DImode)
                  && GET_MODE (x4) == E_VNx2QImode
                  && 
#line 2410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5060; /* aarch64_scatter_store_truncvnx2qivnx2di */
              if (aarch64_sve_gather_offset_h (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_h (operands[3], E_DImode)
                  && GET_MODE (x4) == E_VNx2HImode
                  && 
#line 2410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5061; /* aarch64_scatter_store_truncvnx2hivnx2di */
              if (!aarch64_sve_gather_offset_w (operands[0], E_DImode)
                  || !aarch64_gather_scale_operand_w (operands[3], E_DImode)
                  || GET_MODE (x4) != E_VNx2SImode
                  || !
#line 2410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5062; /* aarch64_scatter_store_truncvnx2sivnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern758 (x3) != 0
          || !register_operand (operands[0], E_DImode))
        return -1;
      x6 = XVECEXP (x3, 0, 0);
      operands[6] = x6;
      x7 = XVECEXP (x3, 0, 1);
      if (GET_MODE (x7) != E_VNx2DImode)
        return -1;
      switch (pattern897 (x2))
        {
        case 0:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && 
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5026; /* *mask_scatter_storevnx2qivnx2di_sxtw_unpacked */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5028; /* *mask_scatter_storevnx2hivnx2di_sxtw_unpacked */
                  break;

                case 1:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5030; /* *mask_scatter_storevnx2hfvnx2di_sxtw_unpacked */
                  break;

                case 2:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5032; /* *mask_scatter_storevnx2bfvnx2di_sxtw_unpacked */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && 
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5034; /* *mask_scatter_storevnx2sivnx2di_sxtw_unpacked */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5036; /* *mask_scatter_storevnx2sfvnx2di_sxtw_unpacked */
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5038; /* *mask_scatter_storevnx2divnx2di_sxtw_unpacked */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5040; /* *mask_scatter_storevnx2dfvnx2di_sxtw_unpacked */

            default:
              return -1;
            }

        case 1:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && 
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5042; /* *mask_scatter_storevnx2qivnx2di_sxtw */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if (
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5043; /* *mask_scatter_storevnx2hivnx2di_sxtw */
                  break;

                case 1:
                  if (
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5044; /* *mask_scatter_storevnx2hfvnx2di_sxtw */
                  break;

                case 2:
                  if (
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5045; /* *mask_scatter_storevnx2bfvnx2di_sxtw */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && 
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5046; /* *mask_scatter_storevnx2sivnx2di_sxtw */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5047; /* *mask_scatter_storevnx2sfvnx2di_sxtw */
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5048; /* *mask_scatter_storevnx2divnx2di_sxtw */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5049; /* *mask_scatter_storevnx2dfvnx2di_sxtw */

            default:
              return -1;
            }

        case 2:
          x4 = XVECEXP (x2, 0, 5);
          if (GET_MODE (x4) == E_VNx2QImode
              && aarch64_gather_scale_operand_b (operands[3], E_DImode))
            {
              x5 = XEXP (x4, 0);
              operands[4] = x5;
              if (register_operand (operands[4], E_VNx2DImode)
                  && 
#line 2435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5063; /* *aarch64_scatter_store_truncvnx2qivnx2di_sxtw */
            }
          if (GET_MODE (x4) == E_VNx2HImode
              && aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              x5 = XEXP (x4, 0);
              operands[4] = x5;
              if (register_operand (operands[4], E_VNx2DImode)
                  && 
#line 2435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5064; /* *aarch64_scatter_store_truncvnx2hivnx2di_sxtw */
            }
          if (GET_MODE (x4) != E_VNx2SImode
              || !aarch64_gather_scale_operand_w (operands[3], E_DImode))
            return -1;
          x5 = XEXP (x4, 0);
          operands[4] = x5;
          if (!register_operand (operands[4], E_VNx2DImode)
              || !
#line 2435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5065; /* *aarch64_scatter_store_truncvnx2sivnx2di_sxtw */

        case 3:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && 
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5027; /* *mask_scatter_storevnx2qivnx2di_uxtw_unpacked */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5029; /* *mask_scatter_storevnx2hivnx2di_uxtw_unpacked */
                  break;

                case 1:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5031; /* *mask_scatter_storevnx2hfvnx2di_uxtw_unpacked */
                  break;

                case 2:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5033; /* *mask_scatter_storevnx2bfvnx2di_uxtw_unpacked */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && 
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5035; /* *mask_scatter_storevnx2sivnx2di_uxtw_unpacked */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5037; /* *mask_scatter_storevnx2sfvnx2di_uxtw_unpacked */
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5039; /* *mask_scatter_storevnx2divnx2di_uxtw_unpacked */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5041; /* *mask_scatter_storevnx2dfvnx2di_uxtw_unpacked */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      if (GET_MODE (x3) != E_VNx2DImode
          || !register_operand (operands[5], E_VNx2BImode)
          || !aarch64_reg_or_zero (operands[0], E_DImode))
        return -1;
      x8 = XEXP (x3, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_VNx2DImode))
        return -1;
      x9 = XEXP (x3, 1);
      operands[6] = x9;
      if (!aarch64_sve_uxtw_immediate (operands[6], E_VNx2DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 5);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[4] = x4;
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && 
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5050; /* *mask_scatter_storevnx2qivnx2di_uxtw */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if (
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5051; /* *mask_scatter_storevnx2hivnx2di_uxtw */
                  break;

                case 1:
                  if (
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5052; /* *mask_scatter_storevnx2hfvnx2di_uxtw */
                  break;

                case 2:
                  if (
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5053; /* *mask_scatter_storevnx2bfvnx2di_uxtw */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && 
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5054; /* *mask_scatter_storevnx2sivnx2di_uxtw */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5055; /* *mask_scatter_storevnx2sfvnx2di_uxtw */
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return -1;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5056; /* *mask_scatter_storevnx2divnx2di_uxtw */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5057; /* *mask_scatter_storevnx2dfvnx2di_uxtw */

            default:
              return -1;
            }

        case TRUNCATE:
          if (GET_MODE (x4) == E_VNx2QImode
              && aarch64_gather_scale_operand_b (operands[3], E_DImode))
            {
              x5 = XEXP (x4, 0);
              operands[4] = x5;
              if (register_operand (operands[4], E_VNx2DImode)
                  && 
#line 2459 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5066; /* *aarch64_scatter_store_truncvnx2qivnx2di_uxtw */
            }
          if (GET_MODE (x4) == E_VNx2HImode
              && aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              x5 = XEXP (x4, 0);
              operands[4] = x5;
              if (register_operand (operands[4], E_VNx2DImode)
                  && 
#line 2459 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5067; /* *aarch64_scatter_store_truncvnx2hivnx2di_uxtw */
            }
          if (GET_MODE (x4) != E_VNx2SImode
              || !aarch64_gather_scale_operand_w (operands[3], E_DImode))
            return -1;
          x5 = XEXP (x4, 0);
          operands[4] = x5;
          if (!register_operand (operands[4], E_VNx2DImode)
              || !
#line 2459 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5068; /* *aarch64_scatter_store_truncvnx2sivnx2di_uxtw */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_394 (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 7:
      if (pattern57 (x1, E_QImode, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 464; /* aarch64_crc32b */

    case 12:
      if (pattern57 (x1, E_HImode, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 465; /* aarch64_crc32h */

    case 13:
      if (pattern58 (x1, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 466; /* aarch64_crc32w */

    case 14:
      if (pattern57 (x1, E_DImode, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 467; /* aarch64_crc32x */

    case 8:
      if (pattern57 (x1, E_QImode, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 468; /* aarch64_crc32cb */

    case 9:
      if (pattern57 (x1, E_HImode, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 469; /* aarch64_crc32ch */

    case 10:
      if (pattern58 (x1, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 470; /* aarch64_crc32cw */

    case 11:
      if (pattern57 (x1, E_DImode, E_SImode) != 0
          || !
#line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 471; /* aarch64_crc32cx */

    case 76:
      if (pattern57 (x1, E_QImode, E_DImode) != 0
          || !
#line 5413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 710; /* *aarch64_sisd_ushl */

    case 97:
      if (pattern57 (x1, E_QImode, E_SImode) != 0
          || !
#line 5423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 711; /* *aarch64_ushl_2s */

    case 75:
      if (pattern57 (x1, E_QImode, E_DImode) != 0
          || !
#line 5433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 712; /* *aarch64_sisd_sshl */

    case 77:
      if (pattern57 (x1, E_QImode, E_SImode) != 0
          || !
#line 5443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 713; /* *aarch64_sshl_2s */

    case 15:
      return recog_147 (x1, insn, pnum_clobbers);

    case 16:
      return recog_146 (x1, insn, pnum_clobbers);

    case 72:
      return recog_145 (x1, insn, pnum_clobbers);

    case 96:
      return recog_144 (x1, insn, pnum_clobbers);

    case 167:
      return recog_143 (x1, insn, pnum_clobbers);

    case 170:
      return recog_142 (x1, insn, pnum_clobbers);

    case 261:
      return recog_141 (x1, insn, pnum_clobbers);

    case 262:
      return recog_140 (x1, insn, pnum_clobbers);

    case 37:
      return recog_118 (x1, insn, pnum_clobbers);

    case 87:
      switch (pattern63 (x1))
        {
        case 0:
          if (!
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1042; /* tlsle12_si */

        case 1:
          if (!
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1043; /* tlsle12_di */

        default:
          return -1;
        }

    case 88:
      switch (pattern63 (x1))
        {
        case 0:
          if (!
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1044; /* tlsle24_si */

        case 1:
          if (!
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1045; /* tlsle24_di */

        default:
          return -1;
        }

    case 64:
      if (pattern64 (x1) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 1);
      operands[1] = x4;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      return 1054; /* stack_tie */

    case 62:
      if (pattern66 (x1, 30, 31) != 0)
        return -1;
      return 1056; /* paciasp */

    case 2:
      if (pattern66 (x1, 30, 31) != 0)
        return -1;
      return 1057; /* autiasp */

    case 63:
      if (pattern66 (x1, 30, 31) != 0)
        return -1;
      return 1058; /* pacibsp */

    case 3:
      if (pattern66 (x1, 30, 31) != 0)
        return -1;
      return 1059; /* autibsp */

    case 60:
      if (pattern66 (x1, 17, 16) != 0)
        return -1;
      return 1060; /* pacia1716 */

    case 0:
      if (pattern66 (x1, 17, 16) != 0)
        return -1;
      return 1061; /* autia1716 */

    case 61:
      if (pattern66 (x1, 17, 16) != 0)
        return -1;
      return 1062; /* pacib1716 */

    case 1:
      if (pattern66 (x1, 17, 16) != 0)
        return -1;
      return 1063; /* autib1716 */

    case 101:
      return recog_139 (x1, insn, pnum_clobbers);

    case 145:
      if (pattern67 (x1) != 0)
        return -1;
      return 1083; /* speculation_tracker */

    case 146:
      if (pattern67 (x1) != 0)
        return -1;
      return 1084; /* speculation_tracker_rev */

    case 383:
      return recog_168 (x1, insn, pnum_clobbers);

    case 384:
      return recog_167 (x1, insn, pnum_clobbers);

    case 105:
      return recog_113 (x1, insn, pnum_clobbers);

    case 69:
      switch (pattern71 (x1, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1618; /* aarch64_sabdlv8qi */

        case 1:
          if (!
#line 857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1620; /* aarch64_sabdlv4hi */

        case 2:
          if (!
#line 857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1622; /* aarch64_sabdlv2si */

        default:
          return -1;
        }

    case 93:
      switch (pattern71 (x1, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1619; /* aarch64_uabdlv8qi */

        case 1:
          if (!
#line 857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1621; /* aarch64_uabdlv4hi */

        case 2:
          if (!
#line 857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1623; /* aarch64_uabdlv2si */

        default:
          return -1;
        }

    case 70:
      switch (pattern71 (x1, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1624; /* aarch64_sabdl2v16qi */

        case 1:
          if (!
#line 867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1626; /* aarch64_sabdl2v8hi */

        case 2:
          if (!
#line 867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1628; /* aarch64_sabdl2v4si */

        default:
          return -1;
        }

    case 94:
      switch (pattern71 (x1, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1625; /* aarch64_uabdl2v16qi */

        case 1:
          if (!
#line 867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1627; /* aarch64_uabdl2v8hi */

        case 2:
          if (!
#line 867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1629; /* aarch64_uabdl2v4si */

        default:
          return -1;
        }

    case 71:
      return recog_160 (x1, insn, pnum_clobbers);

    case 95:
      return recog_159 (x1, insn, pnum_clobbers);

    case 165:
      return recog_151 (x1, insn, pnum_clobbers);

    case 164:
      return recog_150 (x1, insn, pnum_clobbers);

    case 258:
      return recog_82 (x1, insn, pnum_clobbers);

    case 179:
      return recog_117 (x1, insn, pnum_clobbers);

    case 180:
      return recog_115 (x1, insn, pnum_clobbers);

    case 177:
      return recog_116 (x1, insn, pnum_clobbers);

    case 178:
      return recog_114 (x1, insn, pnum_clobbers);

    case 169:
      return recog_138 (x1, insn, pnum_clobbers);

    case 172:
      return recog_137 (x1, insn, pnum_clobbers);

    case 168:
      return recog_135 (x1, insn, pnum_clobbers);

    case 171:
      return recog_136 (x1, insn, pnum_clobbers);

    case 173:
      return recog_134 (x1, insn, pnum_clobbers);

    case 181:
      return recog_158 (x1, insn, pnum_clobbers);

    case 182:
      return recog_157 (x1, insn, pnum_clobbers);

    case 183:
      return recog_156 (x1, insn, pnum_clobbers);

    case 184:
      return recog_155 (x1, insn, pnum_clobbers);

    case 185:
      return recog_154 (x1, insn, pnum_clobbers);

    case 186:
      return recog_153 (x1, insn, pnum_clobbers);

    case 193:
      return recog_152 (x1, insn, pnum_clobbers);

    case 255:
      return recog_105 (x1, insn, pnum_clobbers);

    case 194:
      return recog_65 (x1, insn, pnum_clobbers);

    case 196:
      return recog_78 (x1, insn, pnum_clobbers);

    case 195:
      return recog_112 (x1, insn, pnum_clobbers);

    case 191:
      return recog_80 (x1, insn, pnum_clobbers);

    case 192:
      return recog_79 (x1, insn, pnum_clobbers);

    case 213:
      return recog_133 (x1, insn, pnum_clobbers);

    case 214:
      return recog_132 (x1, insn, pnum_clobbers);

    case 215:
      return recog_131 (x1, insn, pnum_clobbers);

    case 216:
      return recog_130 (x1, insn, pnum_clobbers);

    case 205:
      return recog_95 (x1, insn, pnum_clobbers);

    case 206:
      return recog_94 (x1, insn, pnum_clobbers);

    case 217:
      return recog_111 (x1, insn, pnum_clobbers);

    case 218:
      return recog_110 (x1, insn, pnum_clobbers);

    case 223:
      return recog_100 (x1, insn, pnum_clobbers);

    case 224:
      return recog_99 (x1, insn, pnum_clobbers);

    case 202:
      return recog_129 (x1, insn, pnum_clobbers);

    case 203:
      return recog_128 (x1, insn, pnum_clobbers);

    case 204:
      return recog_93 (x1, insn, pnum_clobbers);

    case 207:
      switch (pattern97 (x1))
        {
        case 0:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3247; /* aarch64_sqshrun_nhi */

        case 1:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3253; /* aarch64_sqshrun_nsi */

        case 2:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3259; /* aarch64_sqshrun_ndi */

        default:
          return -1;
        }

    case 208:
      switch (pattern97 (x1))
        {
        case 0:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3248; /* aarch64_sqrshrun_nhi */

        case 1:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3254; /* aarch64_sqrshrun_nsi */

        case 2:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3260; /* aarch64_sqrshrun_ndi */

        default:
          return -1;
        }

    case 209:
      switch (pattern97 (x1))
        {
        case 0:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3249; /* aarch64_sqshrn_nhi */

        case 1:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3255; /* aarch64_sqshrn_nsi */

        case 2:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3261; /* aarch64_sqshrn_ndi */

        default:
          return -1;
        }

    case 210:
      switch (pattern97 (x1))
        {
        case 0:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3250; /* aarch64_uqshrn_nhi */

        case 1:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3256; /* aarch64_uqshrn_nsi */

        case 2:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3262; /* aarch64_uqshrn_ndi */

        default:
          return -1;
        }

    case 211:
      switch (pattern97 (x1))
        {
        case 0:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3251; /* aarch64_sqrshrn_nhi */

        case 1:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3257; /* aarch64_sqrshrn_nsi */

        case 2:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3263; /* aarch64_sqrshrn_ndi */

        default:
          return -1;
        }

    case 212:
      switch (pattern97 (x1))
        {
        case 0:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3252; /* aarch64_uqrshrn_nhi */

        case 1:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3258; /* aarch64_uqrshrn_nsi */

        case 2:
          if (!
#line 6333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3264; /* aarch64_uqrshrn_ndi */

        default:
          return -1;
        }

    case 225:
      return recog_149 (x1, insn, pnum_clobbers);

    case 82:
      return recog_77 (x1, insn, pnum_clobbers);

    case 83:
      return recog_76 (x1, insn, pnum_clobbers);

    case 84:
      return recog_75 (x1, insn, pnum_clobbers);

    case 257:
      return recog_67 (x1, insn, pnum_clobbers);

    case 228:
      return recog_81 (x1, insn, pnum_clobbers);

    case 230:
      if (pattern98 (x1, E_V16QImode, E_V2x16QImode) != 0
          || !
#line 7756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4012; /* aarch64_combinev16qi */

    case 231:
      return recog_74 (x1, insn, pnum_clobbers);

    case 232:
      return recog_73 (x1, insn, pnum_clobbers);

    case 235:
      return recog_72 (x1, insn, pnum_clobbers);

    case 236:
      return recog_71 (x1, insn, pnum_clobbers);

    case 233:
      return recog_70 (x1, insn, pnum_clobbers);

    case 234:
      return recog_69 (x1, insn, pnum_clobbers);

    case 24:
      return recog_109 (x1, insn, pnum_clobbers);

    case 250:
      if (pattern58 (x1, E_V4SImode) != 0
          || !
#line 8144 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4237; /* aarch64_crypto_sha1su1v4si */

    case 253:
      if (pattern58 (x1, E_V4SImode) != 0
          || !
#line 8189 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA2))
        return -1;
      return 4244; /* aarch64_crypto_sha256su0v4si */

    case 276:
      if (pattern58 (x1, E_V2DImode) != 0
          || !
#line 8223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
        return -1;
      return 4248; /* aarch64_crypto_sha512su0qv2di */

    case 272:
      switch (pattern100 (x1))
        {
        case 0:
          if (!
#line 8333 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
            return -1;
          return 4267; /* aarch64_sm4eqv4si */

        case 1:
          if (!
#line 2637 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_SM4))
            return -1;
          return 9964; /* aarch64_sve2_sm4e */

        default:
          return -1;
        }

    case 273:
      switch (pattern100 (x1))
        {
        case 0:
          if (!
#line 8343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
            return -1;
          return 4268; /* aarch64_sm4ekeyqv4si */

        case 1:
          if (!
#line 2648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_SM4))
            return -1;
          return 9965; /* aarch64_sve2_sm4ekey */

        default:
          return -1;
        }

    case 256:
      if (pattern98 (x1, E_V2DImode, E_TImode) != 0
          || !
#line 8939 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES))
        return -1;
      return 4294; /* aarch64_crypto_pmullv2di */

    case 527:
      if (pattern57 (x1, E_V4SFmode, E_V8BFmode) != 0
          || !
#line 9088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4322; /* aarch64_bfcvtn2v8bf */

    case 57:
      if (GET_MODE (x2) != E_BLKmode)
        return -1;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x4 = XVECEXP (x2, 0, 1);
      operands[1] = x4;
      if (!const_int_operand (operands[1], E_SImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x3, operands[0]))
        return -1;
      return 4468; /* *dmb */

    case 118:
      return recog_64 (x1, insn, pnum_clobbers);

    case 143:
      return recog_97 (x1, insn, pnum_clobbers);

    case 149:
      return recog_148 (x1, insn, pnum_clobbers);

    case 108:
      return recog_68 (x1, insn, pnum_clobbers);

    case 137:
      return recog_66 (x1, insn, pnum_clobbers);

    case 110:
      return recog_104 (x1, insn, pnum_clobbers);

    case 112:
      return recog_103 (x1, insn, pnum_clobbers);

    case 162:
      return recog_96 (x1, insn, pnum_clobbers);

    case 139:
      return recog_102 (x1, insn, pnum_clobbers);

    case 376:
      return recog_127 (x1, insn, pnum_clobbers);

    case 377:
      return recog_126 (x1, insn, pnum_clobbers);

    case 282:
      return recog_98 (x1, insn, pnum_clobbers);

    case 378:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6734; /* aarch64_sve_lslvnx16qi */

        case 1:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6737; /* aarch64_sve_lslvnx8hi */

        case 2:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6740; /* aarch64_sve_lslvnx4si */

        default:
          return -1;
        }

    case 379:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6735; /* aarch64_sve_asrvnx16qi */

        case 1:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6738; /* aarch64_sve_asrvnx8hi */

        case 2:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6741; /* aarch64_sve_asrvnx4si */

        default:
          return -1;
        }

    case 380:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6736; /* aarch64_sve_lsrvnx16qi */

        case 1:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6739; /* aarch64_sve_lsrvnx8hi */

        case 2:
          if (!
#line 4662 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6742; /* aarch64_sve_lsrvnx4si */

        default:
          return -1;
        }

    case 311:
      switch (pattern104 (x1))
        {
        case 0:
          if (!
#line 4848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6851; /* aarch64_sve_ftsmulvnx8hf */

        case 1:
          if (!
#line 4848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6853; /* aarch64_sve_ftsmulvnx4sf */

        case 2:
          if (!
#line 4848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6855; /* aarch64_sve_ftsmulvnx2df */

        default:
          return -1;
        }

    case 312:
      switch (pattern104 (x1))
        {
        case 0:
          if (!
#line 4848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6852; /* aarch64_sve_ftsselvnx8hf */

        case 1:
          if (!
#line 4848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6854; /* aarch64_sve_ftsselvnx4sf */

        case 2:
          if (!
#line 4848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6856; /* aarch64_sve_ftsselvnx2df */

        default:
          return -1;
        }

    case 297:
      switch (pattern105 (x1))
        {
        case 0:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7205; /* *andvnx8hf3 */

        case 1:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7208; /* *andvnx4sf3 */

        case 2:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7211; /* *andvnx2df3 */

        default:
          return -1;
        }

    case 298:
      switch (pattern105 (x1))
        {
        case 0:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7206; /* *iorvnx8hf3 */

        case 1:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7209; /* *iorvnx4sf3 */

        case 2:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7212; /* *iorvnx2df3 */

        default:
          return -1;
        }

    case 299:
      switch (pattern105 (x1))
        {
        case 0:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7207; /* *xorvnx8hf3 */

        case 1:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7210; /* *xorvnx4sf3 */

        case 2:
          if (!
#line 6215 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7213; /* *xorvnx2df3 */

        default:
          return -1;
        }

    case 131:
      return recog_92 (x1, insn, pnum_clobbers);

    case 132:
      return recog_91 (x1, insn, pnum_clobbers);

    case 133:
      return recog_90 (x1, insn, pnum_clobbers);

    case 134:
      return recog_89 (x1, insn, pnum_clobbers);

    case 127:
      return recog_88 (x1, insn, pnum_clobbers);

    case 128:
      return recog_87 (x1, insn, pnum_clobbers);

    case 129:
      return recog_86 (x1, insn, pnum_clobbers);

    case 130:
      return recog_85 (x1, insn, pnum_clobbers);

    case 135:
      return recog_84 (x1, insn, pnum_clobbers);

    case 136:
      return recog_83 (x1, insn, pnum_clobbers);

    case 292:
      return recog_108 (x1, insn, pnum_clobbers);

    case 293:
      return recog_106 (x1, insn, pnum_clobbers);

    case 294:
      return recog_178 (x1, insn, pnum_clobbers);

    case 295:
      return recog_176 (x1, insn, pnum_clobbers);

    case 296:
      return recog_177 (x1, insn, pnum_clobbers);

    case 157:
      return recog_125 (x1, insn, pnum_clobbers);

    case 320:
      return recog_124 (x1, insn, pnum_clobbers);

    case 321:
      return recog_123 (x1, insn, pnum_clobbers);

    case 316:
      return recog_122 (x1, insn, pnum_clobbers);

    case 317:
      return recog_121 (x1, insn, pnum_clobbers);

    case 318:
      return recog_120 (x1, insn, pnum_clobbers);

    case 319:
      return recog_119 (x1, insn, pnum_clobbers);

    case 126:
      return recog_107 (x1, insn, pnum_clobbers);

    case 450:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9464; /* aarch64_sve_saddwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9472; /* aarch64_sve_saddwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9480; /* aarch64_sve_saddwbvnx2di */

        default:
          return -1;
        }

    case 451:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9465; /* aarch64_sve_saddwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9473; /* aarch64_sve_saddwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9481; /* aarch64_sve_saddwtvnx2di */

        default:
          return -1;
        }

    case 491:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9466; /* aarch64_sve_ssubwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9474; /* aarch64_sve_ssubwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9482; /* aarch64_sve_ssubwbvnx2di */

        default:
          return -1;
        }

    case 492:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9467; /* aarch64_sve_ssubwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9475; /* aarch64_sve_ssubwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9483; /* aarch64_sve_ssubwtvnx2di */

        default:
          return -1;
        }

    case 500:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9468; /* aarch64_sve_uaddwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9476; /* aarch64_sve_uaddwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9484; /* aarch64_sve_uaddwbvnx2di */

        default:
          return -1;
        }

    case 501:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9469; /* aarch64_sve_uaddwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9477; /* aarch64_sve_uaddwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9485; /* aarch64_sve_uaddwtvnx2di */

        default:
          return -1;
        }

    case 518:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9470; /* aarch64_sve_usubwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9478; /* aarch64_sve_usubwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9486; /* aarch64_sve_usubwbvnx2di */

        default:
          return -1;
        }

    case 519:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9471; /* aarch64_sve_usubwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9479; /* aarch64_sve_usubwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9487; /* aarch64_sve_usubwtvnx2di */

        default:
          return -1;
        }

    case 445:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9488; /* aarch64_sve_sabdlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9509; /* aarch64_sve_sabdlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9530; /* aarch64_sve_sabdlbvnx2di */

        default:
          return -1;
        }

    case 446:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9489; /* aarch64_sve_sabdltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9510; /* aarch64_sve_sabdltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9531; /* aarch64_sve_sabdltvnx2di */

        default:
          return -1;
        }

    case 447:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9490; /* aarch64_sve_saddlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9511; /* aarch64_sve_saddlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9532; /* aarch64_sve_saddlbvnx2di */

        default:
          return -1;
        }

    case 448:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9491; /* aarch64_sve_saddlbtvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9512; /* aarch64_sve_saddlbtvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9533; /* aarch64_sve_saddlbtvnx2di */

        default:
          return -1;
        }

    case 449:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9492; /* aarch64_sve_saddltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9513; /* aarch64_sve_saddltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9534; /* aarch64_sve_saddltvnx2di */

        default:
          return -1;
        }

    case 461:
      return recog_166 (x1, insn, pnum_clobbers);

    case 462:
      return recog_165 (x1, insn, pnum_clobbers);

    case 465:
      return recog_164 (x1, insn, pnum_clobbers);

    case 467:
      return recog_163 (x1, insn, pnum_clobbers);

    case 487:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9497; /* aarch64_sve_ssublbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9518; /* aarch64_sve_ssublbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9539; /* aarch64_sve_ssublbvnx2di */

        default:
          return -1;
        }

    case 488:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9498; /* aarch64_sve_ssublbtvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9519; /* aarch64_sve_ssublbtvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9540; /* aarch64_sve_ssublbtvnx2di */

        default:
          return -1;
        }

    case 489:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9499; /* aarch64_sve_ssubltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9520; /* aarch64_sve_ssubltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9541; /* aarch64_sve_ssubltvnx2di */

        default:
          return -1;
        }

    case 490:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9500; /* aarch64_sve_ssubltbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9521; /* aarch64_sve_ssubltbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9542; /* aarch64_sve_ssubltbvnx2di */

        default:
          return -1;
        }

    case 496:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9501; /* aarch64_sve_uabdlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9522; /* aarch64_sve_uabdlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9543; /* aarch64_sve_uabdlbvnx2di */

        default:
          return -1;
        }

    case 497:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9502; /* aarch64_sve_uabdltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9523; /* aarch64_sve_uabdltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9544; /* aarch64_sve_uabdltvnx2di */

        default:
          return -1;
        }

    case 498:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9503; /* aarch64_sve_uaddlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9524; /* aarch64_sve_uaddlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9545; /* aarch64_sve_uaddlbvnx2di */

        default:
          return -1;
        }

    case 499:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9504; /* aarch64_sve_uaddltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9525; /* aarch64_sve_uaddltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9546; /* aarch64_sve_uaddltvnx2di */

        default:
          return -1;
        }

    case 506:
      return recog_162 (x1, insn, pnum_clobbers);

    case 507:
      return recog_161 (x1, insn, pnum_clobbers);

    case 516:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9507; /* aarch64_sve_usublbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9528; /* aarch64_sve_usublbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9549; /* aarch64_sve_usublbvnx2di */

        default:
          return -1;
        }

    case 517:
      switch (pattern111 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9508; /* aarch64_sve_usubltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9529; /* aarch64_sve_usubltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9550; /* aarch64_sve_usubltvnx2di */

        default:
          return -1;
        }

    case 485:
      switch (pattern115 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9563; /* aarch64_sve_sshllbvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9567; /* aarch64_sve_sshllbvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9571; /* aarch64_sve_sshllbvnx2di */

        default:
          return -1;
        }

    case 486:
      switch (pattern115 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9564; /* aarch64_sve_sshlltvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9568; /* aarch64_sve_sshlltvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9572; /* aarch64_sve_sshlltvnx2di */

        default:
          return -1;
        }

    case 514:
      switch (pattern115 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9565; /* aarch64_sve_ushllbvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9569; /* aarch64_sve_ushllbvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9573; /* aarch64_sve_ushllbvnx2di */

        default:
          return -1;
        }

    case 515:
      switch (pattern115 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9566; /* aarch64_sve_ushlltvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9570; /* aarch64_sve_ushlltvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9574; /* aarch64_sve_ushlltvnx2di */

        default:
          return -1;
        }

    case 481:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9670; /* aarch64_sve_sqxtntvnx8hi */

        case 1:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9673; /* aarch64_sve_sqxtntvnx4si */

        case 2:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9676; /* aarch64_sve_sqxtntvnx2di */

        default:
          return -1;
        }

    case 483:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9671; /* aarch64_sve_sqxtuntvnx8hi */

        case 1:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9674; /* aarch64_sve_sqxtuntvnx4si */

        case 2:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9677; /* aarch64_sve_sqxtuntvnx2di */

        default:
          return -1;
        }

    case 513:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9672; /* aarch64_sve_uqxtntvnx8hi */

        case 1:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9675; /* aarch64_sve_uqxtntvnx4si */

        case 2:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9678; /* aarch64_sve_uqxtntvnx2di */

        default:
          return -1;
        }

    case 396:
      switch (pattern117 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9679; /* aarch64_sve_addhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9683; /* aarch64_sve_addhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9687; /* aarch64_sve_addhnbvnx2di */

        default:
          return -1;
        }

    case 439:
      switch (pattern117 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9680; /* aarch64_sve_raddhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9684; /* aarch64_sve_raddhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9688; /* aarch64_sve_raddhnbvnx2di */

        default:
          return -1;
        }

    case 443:
      switch (pattern117 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9681; /* aarch64_sve_rsubhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9685; /* aarch64_sve_rsubhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9689; /* aarch64_sve_rsubhnbvnx2di */

        default:
          return -1;
        }

    case 493:
      switch (pattern117 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9682; /* aarch64_sve_subhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9686; /* aarch64_sve_subhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9690; /* aarch64_sve_subhnbvnx2di */

        default:
          return -1;
        }

    case 441:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9703; /* aarch64_sve_rshrnbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9711; /* aarch64_sve_rshrnbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9719; /* aarch64_sve_rshrnbvnx2di */

        default:
          return -1;
        }

    case 454:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9704; /* aarch64_sve_shrnbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9712; /* aarch64_sve_shrnbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9720; /* aarch64_sve_shrnbvnx2di */

        default:
          return -1;
        }

    case 472:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9705; /* aarch64_sve_sqrshrnbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9713; /* aarch64_sve_sqrshrnbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9721; /* aarch64_sve_sqrshrnbvnx2di */

        default:
          return -1;
        }

    case 474:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9706; /* aarch64_sve_sqrshrunbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9714; /* aarch64_sve_sqrshrunbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9722; /* aarch64_sve_sqrshrunbvnx2di */

        default:
          return -1;
        }

    case 476:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9707; /* aarch64_sve_sqshrnbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9715; /* aarch64_sve_sqshrnbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9723; /* aarch64_sve_sqshrnbvnx2di */

        default:
          return -1;
        }

    case 478:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9708; /* aarch64_sve_sqshrunbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9716; /* aarch64_sve_sqshrunbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9724; /* aarch64_sve_sqshrunbvnx2di */

        default:
          return -1;
        }

    case 508:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9709; /* aarch64_sve_uqrshrnbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9717; /* aarch64_sve_uqrshrnbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9725; /* aarch64_sve_uqrshrnbvnx2di */

        default:
          return -1;
        }

    case 510:
      switch (pattern119 (x1))
        {
        case 0:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9710; /* aarch64_sve_uqshrnbvnx8hi */

        case 1:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9718; /* aarch64_sve_uqshrnbvnx4si */

        case 2:
          if (!
#line 1631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9726; /* aarch64_sve_uqshrnbvnx2di */

        default:
          return -1;
        }

    case 402:
      return recog_175 (x1, insn, pnum_clobbers);

    case 401:
      return recog_174 (x1, insn, pnum_clobbers);

    case 464:
      return recog_173 (x1, insn, pnum_clobbers);

    case 463:
      return recog_172 (x1, insn, pnum_clobbers);

    case 435:
      switch (pattern121 (x1))
        {
        case 0:
          if (!
#line 2298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9904; /* aarch64_sve_pmullbvnx8hi */

        case 1:
          if (!
#line 2298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9906; /* aarch64_sve_pmullbvnx2di */

        default:
          return -1;
        }

    case 437:
      switch (pattern121 (x1))
        {
        case 0:
          if (!
#line 2298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9905; /* aarch64_sve_pmulltvnx8hi */

        case 1:
          if (!
#line 2298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9907; /* aarch64_sve_pmulltvnx2di */

        default:
          return -1;
        }

    case 436:
      switch (pattern122 (x1))
        {
        case 0:
          if (!
#line 2311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9908; /* aarch64_sve_pmullb_pairvnx16qi */

        case 1:
          if (!
#line 2311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9910; /* aarch64_sve_pmullb_pairvnx4si */

        case 2:
          if (!(
#line 2311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2_AES)))
            return -1;
          return 9912; /* aarch64_sve_pmullb_pairvnx2di */

        default:
          return -1;
        }

    case 438:
      switch (pattern122 (x1))
        {
        case 0:
          if (!
#line 2311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9909; /* aarch64_sve_pmullt_pairvnx16qi */

        case 1:
          if (!
#line 2311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9911; /* aarch64_sve_pmullt_pairvnx4si */

        case 2:
          if (!(
#line 2311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2_AES)))
            return -1;
          return 9913; /* aarch64_sve_pmullt_pairvnx2di */

        default:
          return -1;
        }

    case 495:
      return recog_101 (x1, insn, pnum_clobbers);

    case 398:
      return recog_171 (x1, insn, pnum_clobbers);

    case 399:
      return recog_169 (x1, insn, pnum_clobbers);

    case 400:
      return recog_170 (x1, insn, pnum_clobbers);

    case 432:
      if (pattern58 (x1, E_VNx16QImode) != 0
          || !
#line 2439 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9944; /* aarch64_sve2_histsegvnx16qi */

    default:
      return -1;
    }
}

static int
recog_395 (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 66:
      return recog_202 (x1, insn, pnum_clobbers);

    case 74:
      if (GET_MODE (x2) != E_QImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_QImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], E_QImode)
          || !
#line 5452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 714; /* *aarch64_sisd_neg_qi */

    case 65:
      return recog_181 (x1, insn, pnum_clobbers);

    case 32:
      return recog_219 (x1, insn, pnum_clobbers);

    case 30:
      return recog_218 (x1, insn, pnum_clobbers);

    case 28:
      return recog_217 (x1, insn, pnum_clobbers);

    case 29:
      return recog_216 (x1, insn, pnum_clobbers);

    case 27:
      return recog_215 (x1, insn, pnum_clobbers);

    case 31:
      return recog_213 (x1, insn, pnum_clobbers);

    case 26:
      return recog_214 (x1, insn, pnum_clobbers);

    case 34:
      x4 = XVECEXP (x2, 0, 0);
      if (GET_CODE (x4) != MEM)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != LO_SUM)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern577 (x2, E_SImode) != 0
              || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
            return -1;
          return 1027; /* ldr_got_small_28k_si */

        case E_DImode:
          if (pattern577 (x2, E_DImode) != 0
              || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
            return -1;
          return 1028; /* ldr_got_small_28k_di */

        default:
          return -1;
        }

    case 36:
      return recog_212 (x1, insn, pnum_clobbers);

    case 85:
      if (GET_MODE (x2) != E_DImode)
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode))
        return -1;
      return 1033; /* aarch64_load_tp_hard */

    case 35:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!aarch64_tls_ie_symref (operands[1], E_VOIDmode))
        return -1;
      switch (pattern124 (x2))
        {
        case 0:
          if (!
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
            return -1;
          return 1036; /* tlsie_small_si */

        case 1:
          if (!
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
            return -1;
          return 1037; /* tlsie_small_di */

        default:
          return -1;
        }

    case 89:
      switch (pattern125 (x1))
        {
        case 0:
          if (!
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1046; /* tlsle32_si */

        case 1:
          if (!
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1047; /* tlsle32_di */

        default:
          return -1;
        }

    case 90:
      switch (pattern125 (x1))
        {
        case 0:
          if (!
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1048; /* tlsle48_si */

        case 1:
          if (!
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1049; /* tlsle48_di */

        default:
          return -1;
        }

    case 17:
      if (pnum_clobbers == NULL
          || GET_MODE (x2) != E_SImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_SImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], E_DFmode)
          || !
#line 7090 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_JSCVT))
        return -1;
      *pnum_clobbers = 1;
      return 1055; /* aarch64_fjcvtzs */

    case 107:
      if (pattern126 (x1, E_DImode, 30) != 0)
        return -1;
      return 1064; /* xpaclri */

    case 99:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!const_int_operand (operands[1], E_VOIDmode))
        return -1;
      switch (pattern124 (x2))
        {
        case 0:
          if (!(
#line 7222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_stack_protector_guard != SSP_GLOBAL) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
            return -1;
          return 1069; /* reg_stack_protect_address_si */

        case 1:
          if (!(
#line 7222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_stack_protector_guard != SSP_GLOBAL) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
            return -1;
          return 1070; /* reg_stack_protect_address_di */

        default:
          return -1;
        }

    case 18:
      switch (pattern127 (x1))
        {
        case 0:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1100; /* aarch64_frint32zv2sf */

        case 1:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1104; /* aarch64_frint32zv4sf */

        case 2:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1108; /* aarch64_frint32zv2df */

        case 3:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1112; /* aarch64_frint32zdf */

        case 4:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1116; /* aarch64_frint32zsf */

        default:
          return -1;
        }

    case 19:
      switch (pattern127 (x1))
        {
        case 0:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1101; /* aarch64_frint32xv2sf */

        case 1:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1105; /* aarch64_frint32xv4sf */

        case 2:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1109; /* aarch64_frint32xv2df */

        case 3:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1113; /* aarch64_frint32xdf */

        case 4:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1117; /* aarch64_frint32xsf */

        default:
          return -1;
        }

    case 20:
      switch (pattern127 (x1))
        {
        case 0:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1102; /* aarch64_frint64zv2sf */

        case 1:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1106; /* aarch64_frint64zv4sf */

        case 2:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1110; /* aarch64_frint64zv2df */

        case 3:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1114; /* aarch64_frint64zdf */

        case 4:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1118; /* aarch64_frint64zsf */

        default:
          return -1;
        }

    case 21:
      switch (pattern127 (x1))
        {
        case 0:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1103; /* aarch64_frint64xv2sf */

        case 1:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1107; /* aarch64_frint64xv4sf */

        case 2:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1111; /* aarch64_frint64xv2df */

        case 3:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1115; /* aarch64_frint64xdf */

        case 4:
          if (!
#line 7512 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1119; /* aarch64_frint64xsf */

        default:
          return -1;
        }

    case 104:
      return recog_185 (x1, insn, pnum_clobbers);

    case 166:
      return recog_196 (x1, insn, pnum_clobbers);

    case 529:
      return recog_210 (x1, insn, pnum_clobbers);

    case 174:
      return recog_203 (x1, insn, pnum_clobbers);

    case 173:
      return recog_211 (x1, insn, pnum_clobbers);

    case 175:
      switch (pattern131 (x1))
        {
        case 0:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2386; /* aarch64_saddlvv8qi */

        case 1:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2388; /* aarch64_saddlvv16qi */

        case 2:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2390; /* aarch64_saddlvv4hi */

        case 3:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2392; /* aarch64_saddlvv8hi */

        case 4:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2394; /* aarch64_saddlvv4si */

        case 5:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2396; /* aarch64_saddlvv2si */

        default:
          return -1;
        }

    case 176:
      switch (pattern131 (x1))
        {
        case 0:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2387; /* aarch64_uaddlvv8qi */

        case 1:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2389; /* aarch64_uaddlvv16qi */

        case 2:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2391; /* aarch64_uaddlvv4hi */

        case 3:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2393; /* aarch64_uaddlvv8hi */

        case 4:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2395; /* aarch64_uaddlvv4si */

        case 5:
          if (!
#line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2397; /* aarch64_uaddlvv2si */

        default:
          return -1;
        }

    case 226:
      switch (pattern132 (x1))
        {
        case 0:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2398; /* aarch64_saddlpv8qi */

        case 1:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2400; /* aarch64_saddlpv16qi */

        case 2:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2402; /* aarch64_saddlpv4hi */

        case 3:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2404; /* aarch64_saddlpv8hi */

        case 4:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2406; /* aarch64_saddlpv4si */

        case 5:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2408; /* aarch64_saddlpv2si */

        default:
          return -1;
        }

    case 227:
      switch (pattern132 (x1))
        {
        case 0:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2399; /* aarch64_uaddlpv8qi */

        case 1:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2401; /* aarch64_uaddlpv16qi */

        case 2:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2403; /* aarch64_uaddlpv4hi */

        case 3:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2405; /* aarch64_uaddlpv8hi */

        case 4:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2407; /* aarch64_uaddlpv4si */

        case 5:
          if (!
#line 3463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2409; /* aarch64_uaddlpv2si */

        default:
          return -1;
        }

    case 179:
      switch (pattern133 (x1))
        {
        case 0:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2424; /* aarch64_reduc_umax_internalv8qi */

        case 1:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2428; /* aarch64_reduc_umax_internalv16qi */

        case 2:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2432; /* aarch64_reduc_umax_internalv4hi */

        case 3:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2436; /* aarch64_reduc_umax_internalv8hi */

        case 4:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2440; /* aarch64_reduc_umax_internalv4si */

        case 5:
          if (!
#line 3551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2444; /* aarch64_reduc_umax_internalv2si */

        default:
          return -1;
        }

    case 180:
      switch (pattern133 (x1))
        {
        case 0:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2425; /* aarch64_reduc_umin_internalv8qi */

        case 1:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2429; /* aarch64_reduc_umin_internalv16qi */

        case 2:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2433; /* aarch64_reduc_umin_internalv4hi */

        case 3:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2437; /* aarch64_reduc_umin_internalv8hi */

        case 4:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2441; /* aarch64_reduc_umin_internalv4si */

        case 5:
          if (!
#line 3551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2445; /* aarch64_reduc_umin_internalv2si */

        default:
          return -1;
        }

    case 177:
      switch (pattern133 (x1))
        {
        case 0:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2426; /* aarch64_reduc_smax_internalv8qi */

        case 1:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2430; /* aarch64_reduc_smax_internalv16qi */

        case 2:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2434; /* aarch64_reduc_smax_internalv4hi */

        case 3:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2438; /* aarch64_reduc_smax_internalv8hi */

        case 4:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2442; /* aarch64_reduc_smax_internalv4si */

        case 5:
          if (!
#line 3551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2446; /* aarch64_reduc_smax_internalv2si */

        default:
          return -1;
        }

    case 178:
      switch (pattern133 (x1))
        {
        case 0:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2427; /* aarch64_reduc_smin_internalv8qi */

        case 1:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2431; /* aarch64_reduc_smin_internalv16qi */

        case 2:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2435; /* aarch64_reduc_smin_internalv4hi */

        case 3:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2439; /* aarch64_reduc_smin_internalv8hi */

        case 4:
          if (!
#line 3542 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2443; /* aarch64_reduc_smin_internalv4si */

        case 5:
          if (!
#line 3551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2447; /* aarch64_reduc_smin_internalv2si */

        default:
          return -1;
        }

    case 169:
      switch (pattern134 (x1))
        {
        case 0:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2448; /* aarch64_reduc_smax_nan_internalv4hf */

        case 1:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2452; /* aarch64_reduc_smax_nan_internalv8hf */

        case 2:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2456; /* aarch64_reduc_smax_nan_internalv2sf */

        case 3:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2460; /* aarch64_reduc_smax_nan_internalv4sf */

        case 4:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2464; /* aarch64_reduc_smax_nan_internalv2df */

        default:
          return -1;
        }

    case 172:
      switch (pattern134 (x1))
        {
        case 0:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2449; /* aarch64_reduc_smin_nan_internalv4hf */

        case 1:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2453; /* aarch64_reduc_smin_nan_internalv8hf */

        case 2:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2457; /* aarch64_reduc_smin_nan_internalv2sf */

        case 3:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2461; /* aarch64_reduc_smin_nan_internalv4sf */

        case 4:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2465; /* aarch64_reduc_smin_nan_internalv2df */

        default:
          return -1;
        }

    case 168:
      switch (pattern134 (x1))
        {
        case 0:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2450; /* aarch64_reduc_smax_internalv4hf */

        case 1:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2454; /* aarch64_reduc_smax_internalv8hf */

        case 2:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2458; /* aarch64_reduc_smax_internalv2sf */

        case 3:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2462; /* aarch64_reduc_smax_internalv4sf */

        case 4:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2466; /* aarch64_reduc_smax_internalv2df */

        default:
          return -1;
        }

    case 171:
      switch (pattern134 (x1))
        {
        case 0:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2451; /* aarch64_reduc_smin_internalv4hf */

        case 1:
          if (!(
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2455; /* aarch64_reduc_smin_internalv8hf */

        case 2:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2459; /* aarch64_reduc_smin_internalv2sf */

        case 3:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2463; /* aarch64_reduc_smin_internalv4sf */

        case 4:
          if (!
#line 3560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2467; /* aarch64_reduc_smin_internalv2df */

        default:
          return -1;
        }

    case 197:
      return recog_207 (x1, insn, pnum_clobbers);

    case 225:
      if (GET_MODE (x2) != E_DImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], E_V2DImode)
          || !
#line 6710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3513; /* aarch64_addpdi */

    case 39:
      return recog_195 (x1, insn, pnum_clobbers);

    case 41:
      return recog_188 (x1, insn, pnum_clobbers);

    case 79:
      return recog_184 (x1, insn, pnum_clobbers);

    case 42:
      return recog_194 (x1, insn, pnum_clobbers);

    case 44:
      return recog_187 (x1, insn, pnum_clobbers);

    case 80:
      return recog_183 (x1, insn, pnum_clobbers);

    case 45:
      return recog_193 (x1, insn, pnum_clobbers);

    case 47:
      return recog_186 (x1, insn, pnum_clobbers);

    case 81:
      return recog_182 (x1, insn, pnum_clobbers);

    case 38:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      return recog_179 (x1, insn, pnum_clobbers);

    case 78:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      return recog_180 (x1, insn, pnum_clobbers);

    case 40:
      return recog_192 (x1, insn, pnum_clobbers);

    case 43:
      return recog_191 (x1, insn, pnum_clobbers);

    case 46:
      return recog_190 (x1, insn, pnum_clobbers);

    case 238:
      return recog_201 (x1, insn, pnum_clobbers);

    case 239:
      return recog_199 (x1, insn, pnum_clobbers);

    case 240:
      return recog_200 (x1, insn, pnum_clobbers);

    case 23:
      return recog_189 (x1, insn, pnum_clobbers);

    case 25:
      return recog_206 (x1, insn, pnum_clobbers);

    case 22:
      return recog_209 (x1, insn, pnum_clobbers);

    case 241:
      switch (pattern137 (x1))
        {
        case 0:
          if (!
#line 8051 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES))
            return -1;
          return 4228; /* aarch64_crypto_aesev16qi */

        case 1:
          if (!
#line 2552 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 9957; /* aarch64_sve2_aese */

        default:
          return -1;
        }

    case 242:
      switch (pattern137 (x1))
        {
        case 0:
          if (!
#line 8051 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES))
            return -1;
          return 4229; /* aarch64_crypto_aesdv16qi */

        case 1:
          if (!
#line 2552 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 9958; /* aarch64_sve2_aesd */

        default:
          return -1;
        }

    case 243:
      switch (pattern139 (x1, 241))
        {
        case 0:
          if (!
#line 8060 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES))
            return -1;
          return 4230; /* aarch64_crypto_aesmcv16qi */

        case 1:
          if (!
#line 2563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 9959; /* aarch64_sve2_aesmc */

        case 2:
          if (!
#line 8079 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES
   && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 4232; /* *aarch64_crypto_aese_fused */

        case 3:
          if (!
#line 2582 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 9961; /* *aarch64_sve2_aese_fused */

        default:
          return -1;
        }

    case 244:
      switch (pattern139 (x1, 242))
        {
        case 0:
          if (!
#line 8060 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES))
            return -1;
          return 4231; /* aarch64_crypto_aesimcv16qi */

        case 1:
          if (!
#line 2563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 9960; /* aarch64_sve2_aesimc */

        case 2:
          if (!
#line 8100 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_AES
   && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 4233; /* *aarch64_crypto_aesd_fused */

        case 3:
          if (!
#line 2597 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 9962; /* *aarch64_sve2_aesd_fused */

        default:
          return -1;
        }

    case 248:
      return recog_205 (x1, insn, pnum_clobbers);

    case 526:
      return recog_198 (x1, insn, pnum_clobbers);

    case 528:
      return recog_208 (x1, insn, pnum_clobbers);

    case 527:
      if (GET_MODE (x2) != E_V4SFmode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_V4SFmode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], E_V8BFmode)
          || !
#line 9116 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4326; /* aarch64_vbfcvt_highv8bf */

    case 144:
      return recog_197 (x1, insn, pnum_clobbers);

    case 150:
      if (pattern126 (x1, E_VNx16BImode, 85) != 0
          || !
#line 1211 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4645; /* aarch64_update_ffrt */

    case 308:
      return recog_204 (x1, insn, pnum_clobbers);

    case 122:
      switch (pattern141 (x1))
        {
        case 0:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8829; /* aarch64_sve_sunpkhi_vnx16qi */

        case 1:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8833; /* aarch64_sve_sunpkhi_vnx8hi */

        case 2:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8837; /* aarch64_sve_sunpkhi_vnx4si */

        default:
          return -1;
        }

    case 123:
      switch (pattern142 (x1))
        {
        case 0:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8830; /* aarch64_sve_uunpkhi_vnx16qi */

        case 1:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8834; /* aarch64_sve_uunpkhi_vnx8hi */

        case 2:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8838; /* aarch64_sve_uunpkhi_vnx4si */

        case 3:
          if (!
#line 9577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8940; /* aarch64_sve_punpkhi_vnx16bi */

        case 4:
          if (!
#line 9577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8942; /* aarch64_sve_punpkhi_vnx8bi */

        case 5:
          if (!
#line 9577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8944; /* aarch64_sve_punpkhi_vnx4bi */

        default:
          return -1;
        }

    case 124:
      switch (pattern141 (x1))
        {
        case 0:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8831; /* aarch64_sve_sunpklo_vnx16qi */

        case 1:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8835; /* aarch64_sve_sunpklo_vnx8hi */

        case 2:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8839; /* aarch64_sve_sunpklo_vnx4si */

        default:
          return -1;
        }

    case 125:
      switch (pattern142 (x1))
        {
        case 0:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8832; /* aarch64_sve_uunpklo_vnx16qi */

        case 1:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8836; /* aarch64_sve_uunpklo_vnx8hi */

        case 2:
          if (!
#line 8911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8840; /* aarch64_sve_uunpklo_vnx4si */

        case 3:
          if (!
#line 9577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8939; /* aarch64_sve_punpklo_vnx16bi */

        case 4:
          if (!
#line 9577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8941; /* aarch64_sve_punpklo_vnx8bi */

        case 5:
          if (!
#line 9577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8943; /* aarch64_sve_punpklo_vnx4bi */

        default:
          return -1;
        }

    case 480:
      switch (pattern143 (x1))
        {
        case 0:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9661; /* aarch64_sve_sqxtnbvnx8hi */

        case 1:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9664; /* aarch64_sve_sqxtnbvnx4si */

        case 2:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9667; /* aarch64_sve_sqxtnbvnx2di */

        default:
          return -1;
        }

    case 482:
      switch (pattern143 (x1))
        {
        case 0:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9662; /* aarch64_sve_sqxtunbvnx8hi */

        case 1:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9665; /* aarch64_sve_sqxtunbvnx4si */

        case 2:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9668; /* aarch64_sve_sqxtunbvnx2di */

        default:
          return -1;
        }

    case 512:
      switch (pattern143 (x1))
        {
        case 0:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9663; /* aarch64_sve_uqxtnbvnx8hi */

        case 1:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9666; /* aarch64_sve_uqxtnbvnx4si */

        case 2:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9669; /* aarch64_sve_uqxtnbvnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_396 (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 266:
      if (pattern144 (x1) != 0
          || !
#line 8310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4261; /* aarch64_sm3tt1aqv4si */

    case 267:
      if (pattern144 (x1) != 0
          || !
#line 8310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4262; /* aarch64_sm3tt1bqv4si */

    case 268:
      if (pattern144 (x1) != 0
          || !
#line 8310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4263; /* aarch64_sm3tt2aqv4si */

    case 269:
      if (pattern144 (x1) != 0
          || !
#line 8310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SM4))
        return -1;
      return 4264; /* aarch64_sm3tt2bqv4si */

    case 120:
      return recog_392 (x1, insn, pnum_clobbers);

    case 371:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      x7 = XVECEXP (x2, 0, 3);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern635 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 4862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6857; /* aarch64_pred_fscalevnx8hf */

        case E_VNx4SFmode:
          if (pattern635 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 4862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6858; /* aarch64_pred_fscalevnx4sf */

        case E_VNx2DFmode:
          if (pattern635 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 4862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6859; /* aarch64_pred_fscalevnx2df */

        default:
          return -1;
        }

    case 351:
      switch (pattern146 (x1))
        {
        case 0:
          if (!
#line 5073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6887; /* aarch64_pred_divvnx8hf */

        case 1:
          if (!
#line 5073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6889; /* aarch64_pred_divvnx4sf */

        case 2:
          if (!
#line 5073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6891; /* aarch64_pred_divvnx2df */

        default:
          return -1;
        }

    case 359:
      switch (pattern146 (x1))
        {
        case 0:
          if (!
#line 5073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6888; /* aarch64_pred_mulxvnx8hf */

        case 1:
          if (!
#line 5073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6890; /* aarch64_pred_mulxvnx4sf */

        case 2:
          if (!
#line 5073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6892; /* aarch64_pred_mulxvnx2df */

        default:
          return -1;
        }

    case 334:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (pattern432 (x2))
        {
        case 0:
          if (!
#line 5379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7115; /* aarch64_pred_addvnx8hf */

        case 1:
          if (!
#line 5379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7116; /* aarch64_pred_addvnx4sf */

        case 2:
          if (!
#line 5379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7117; /* aarch64_pred_addvnx2df */

        default:
          return -1;
        }

    case 335:
      switch (pattern146 (x1))
        {
        case 0:
          if (!
#line 5535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7130; /* aarch64_pred_cadd90vnx8hf */

        case 1:
          if (!
#line 5535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7132; /* aarch64_pred_cadd90vnx4sf */

        case 2:
          if (!
#line 5535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7134; /* aarch64_pred_cadd90vnx2df */

        default:
          return -1;
        }

    case 336:
      switch (pattern146 (x1))
        {
        case 0:
          if (!
#line 5535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7131; /* aarch64_pred_cadd270vnx8hf */

        case 1:
          if (!
#line 5535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7133; /* aarch64_pred_cadd270vnx4sf */

        case 2:
          if (!
#line 5535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7135; /* aarch64_pred_cadd270vnx2df */

        default:
          return -1;
        }

    case 373:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (pattern434 (x2))
        {
        case 0:
          if (!
#line 5698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7160; /* aarch64_pred_subvnx8hf */

        case 1:
          if (!
#line 5698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7161; /* aarch64_pred_subvnx4sf */

        case 2:
          if (!
#line 5698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7162; /* aarch64_pred_subvnx2df */

        default:
          return -1;
        }

    case 358:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (pattern436 (x2))
        {
        case 0:
          if (!
#line 6123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7199; /* aarch64_pred_mulvnx8hf */

        case 1:
          if (!
#line 6123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7200; /* aarch64_pred_mulvnx4sf */

        case 2:
          if (!
#line 6123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7201; /* aarch64_pred_mulvnx2df */

        default:
          return -1;
        }

    case 352:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7214; /* aarch64_pred_fmax_nanvnx8hf */

        case 1:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7218; /* aarch64_pred_fmax_nanvnx4sf */

        case 2:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7222; /* aarch64_pred_fmax_nanvnx2df */

        default:
          return -1;
        }

    case 353:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7215; /* aarch64_pred_smaxvnx8hf */

        case 1:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7219; /* aarch64_pred_smaxvnx4sf */

        case 2:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7223; /* aarch64_pred_smaxvnx2df */

        default:
          return -1;
        }

    case 354:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7216; /* aarch64_pred_fmin_nanvnx8hf */

        case 1:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7220; /* aarch64_pred_fmin_nanvnx4sf */

        case 2:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7224; /* aarch64_pred_fmin_nanvnx2df */

        default:
          return -1;
        }

    case 355:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7217; /* aarch64_pred_sminvnx8hf */

        case 1:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7221; /* aarch64_pred_sminvnx4sf */

        case 2:
          if (!
#line 6331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7225; /* aarch64_pred_sminvnx2df */

        default:
          return -1;
        }

    case 522:
      if (pattern149 (x1) != 0
          || !
#line 7519 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7573; /* aarch64_sve_bfdot_lanevnx4sf */

    case 523:
      if (pattern149 (x1) != 0
          || !
#line 7519 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7574; /* aarch64_sve_bfmlalb_lanevnx4sf */

    case 524:
      if (pattern149 (x1) != 0
          || !
#line 7519 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7575; /* aarch64_sve_bfmlalt_lanevnx4sf */

    case 337:
      switch (pattern152 (x1))
        {
        case 0:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8346; /* aarch64_pred_fcmeqvnx8hf */

        case 1:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8352; /* aarch64_pred_fcmeqvnx4sf */

        case 2:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8358; /* aarch64_pred_fcmeqvnx2df */

        default:
          return -1;
        }

    case 338:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8347; /* aarch64_pred_fcmgevnx8hf */

        case 1:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8353; /* aarch64_pred_fcmgevnx4sf */

        case 2:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8359; /* aarch64_pred_fcmgevnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern856 (x2))
                {
                case 0:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8430; /* *aarch64_pred_facgevnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8434; /* *aarch64_pred_facgevnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8438; /* *aarch64_pred_facgevnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern857 (x2))
            {
            case 0:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8442; /* *aarch64_pred_facgevnx8hf_strict */

            case 1:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8446; /* *aarch64_pred_facgevnx4sf_strict */

            case 2:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8450; /* *aarch64_pred_facgevnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 339:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8348; /* aarch64_pred_fcmgtvnx8hf */

        case 1:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8354; /* aarch64_pred_fcmgtvnx4sf */

        case 2:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8360; /* aarch64_pred_fcmgtvnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern856 (x2))
                {
                case 0:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8431; /* *aarch64_pred_facgtvnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8435; /* *aarch64_pred_facgtvnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8439; /* *aarch64_pred_facgtvnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern857 (x2))
            {
            case 0:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8443; /* *aarch64_pred_facgtvnx8hf_strict */

            case 1:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8447; /* *aarch64_pred_facgtvnx4sf_strict */

            case 2:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8451; /* *aarch64_pred_facgtvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 344:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8349; /* aarch64_pred_fcmlevnx8hf */

        case 1:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8355; /* aarch64_pred_fcmlevnx4sf */

        case 2:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8361; /* aarch64_pred_fcmlevnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern856 (x2))
                {
                case 0:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8432; /* *aarch64_pred_faclevnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8436; /* *aarch64_pred_faclevnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8440; /* *aarch64_pred_faclevnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern857 (x2))
            {
            case 0:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8444; /* *aarch64_pred_faclevnx8hf_strict */

            case 1:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8448; /* *aarch64_pred_faclevnx4sf_strict */

            case 2:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8452; /* *aarch64_pred_faclevnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 345:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8350; /* aarch64_pred_fcmltvnx8hf */

        case 1:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8356; /* aarch64_pred_fcmltvnx4sf */

        case 2:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8362; /* aarch64_pred_fcmltvnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern856 (x2))
                {
                case 0:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8433; /* *aarch64_pred_facltvnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8437; /* *aarch64_pred_facltvnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8441; /* *aarch64_pred_facltvnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern857 (x2))
            {
            case 0:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8445; /* *aarch64_pred_facltvnx8hf_strict */

            case 1:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8449; /* *aarch64_pred_facltvnx4sf_strict */

            case 2:
              if (!
#line 8372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8453; /* *aarch64_pred_facltvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 346:
      switch (pattern152 (x1))
        {
        case 0:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8351; /* aarch64_pred_fcmnevnx8hf */

        case 1:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8357; /* aarch64_pred_fcmnevnx4sf */

        case 2:
          if (!
#line 8074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8363; /* aarch64_pred_fcmnevnx2df */

        default:
          return -1;
        }

    case 347:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!aarch64_sve_ptrue_flag (operands[2], E_SImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 3);
      operands[4] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern636 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 8089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8364; /* aarch64_pred_fcmuovnx8hf */

        case E_VNx4BImode:
          if (pattern636 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 8089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8365; /* aarch64_pred_fcmuovnx4sf */

        case E_VNx2BImode:
          if (pattern636 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 8089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8366; /* aarch64_pred_fcmuovnx2df */

        default:
          return -1;
        }

    case 416:
      x5 = XVECEXP (x2, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[2] = x4;
      x6 = XVECEXP (x2, 0, 2);
      operands[1] = x6;
      x7 = XVECEXP (x2, 0, 3);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BFmode:
          if (pattern590 (x2, E_VNx4SFmode, E_VNx8BFmode, E_VNx4BImode) != 0
              || !
#line 9442 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
            return -1;
          return 8929; /* aarch64_sve_cvtntvnx8bf */

        case E_VNx8HFmode:
          if (pattern590 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
              || !
#line 2026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9884; /* aarch64_sve_cvtntvnx8hf */

        case E_VNx4SFmode:
          if (pattern590 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
              || !
#line 2026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9885; /* aarch64_sve_cvtntvnx4sf */

        default:
          return -1;
        }

    case 115:
      x7 = XVECEXP (x2, 0, 3);
      if (GET_CODE (x7) != MEM
          || GET_MODE (x7) != E_BLKmode)
        return -1;
      x9 = XEXP (x7, 0);
      if (GET_CODE (x9) != SCRATCH)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!aarch64_reg_or_zero (operands[2], E_DImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SImode:
          if (pattern714 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9076; /* aarch64_gather_ldntvnx4si */

        case E_VNx2DImode:
          if (pattern714 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9077; /* aarch64_gather_ldntvnx2di */

        case E_VNx4SFmode:
          if (pattern715 (x2, E_VNx4SImode, E_VNx4BImode, E_VNx4SFmode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9078; /* aarch64_gather_ldntvnx4sf */

        case E_VNx2DFmode:
          if (pattern715 (x2, E_VNx2DImode, E_VNx2BImode, E_VNx2DFmode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9079; /* aarch64_gather_ldntvnx2df */

        default:
          return -1;
        }

    case 117:
      if (pattern64 (x1) != 0)
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[0] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[1] = x5;
      if (!aarch64_reg_or_zero (operands[1], E_DImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      x7 = XVECEXP (x2, 0, 3);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4BImode:
              if (!register_operand (operands[0], E_VNx4BImode)
                  || !register_operand (operands[2], E_VNx4SImode))
                return -1;
              switch (GET_MODE (operands[3]))
                {
                case E_VNx4SImode:
                  if (!register_operand (operands[3], E_VNx4SImode)
                      || !
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9090; /* aarch64_scatter_stntvnx4si */

                case E_VNx4SFmode:
                  if (!register_operand (operands[3], E_VNx4SFmode)
                      || !
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9092; /* aarch64_scatter_stntvnx4sf */

                default:
                  return -1;
                }

            case E_VNx2BImode:
              if (!register_operand (operands[0], E_VNx2BImode)
                  || !register_operand (operands[2], E_VNx2DImode))
                return -1;
              switch (GET_MODE (operands[3]))
                {
                case E_VNx2DImode:
                  if (!register_operand (operands[3], E_VNx2DImode)
                      || !
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9091; /* aarch64_scatter_stntvnx2di */

                case E_VNx2DFmode:
                  if (!register_operand (operands[3], E_VNx2DFmode)
                      || !
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9093; /* aarch64_scatter_stntvnx2df */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case TRUNCATE:
          x9 = XEXP (x7, 0);
          operands[3] = x9;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4BImode:
              if (!register_operand (operands[0], E_VNx4BImode)
                  || !register_operand (operands[2], E_VNx4SImode)
                  || !register_operand (operands[3], E_VNx4SImode))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_VNx4QImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0))
                    return -1;
                  return 9094; /* aarch64_scatter_stnt_vnx4sivnx4qi */

                case E_VNx4HImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0))
                    return -1;
                  return 9096; /* aarch64_scatter_stnt_vnx4sivnx4hi */

                default:
                  return -1;
                }

            case E_VNx2BImode:
              if (!register_operand (operands[0], E_VNx2BImode)
                  || !register_operand (operands[2], E_VNx2DImode)
                  || !register_operand (operands[3], E_VNx2DImode))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_VNx2QImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0))
                    return -1;
                  return 9095; /* aarch64_scatter_stnt_vnx2divnx2qi */

                case E_VNx2HImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0))
                    return -1;
                  return 9097; /* aarch64_scatter_stnt_vnx2divnx2hi */

                case E_VNx2SImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0))
                    return -1;
                  return 9098; /* aarch64_scatter_stnt_vnx2divnx2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 418:
      if (GET_MODE (x2) != E_VNx4SFmode)
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_VNx4SFmode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[2] = x4;
      if (!register_operand (operands[2], E_VNx2BImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[1] = x6;
      if (!register_operand (operands[1], E_VNx4SFmode))
        return -1;
      x7 = XVECEXP (x2, 0, 3);
      operands[3] = x7;
      if (!register_operand (operands[3], E_VNx2DFmode)
          || !
#line 2116 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9889; /* aarch64_sve2_cvtxntvnx2df */

    default:
      return -1;
    }
}

static int
recog_397 (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, 1);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      if (aarch64_logical_and_immediate (operands[2], E_SImode))
        return 498; /* *aarch64_andsi_imm2 */
      if (!aarch64_logical_operand (operands[2], E_SImode))
        return -1;
      return 500; /* andsi3 */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode))
        return -1;
      if (aarch64_logical_and_immediate (operands[2], E_DImode))
        return 499; /* *aarch64_anddi_imm2 */
      if (!aarch64_logical_operand (operands[2], E_DImode))
        return -1;
      return 503; /* anddi3 */

    case E_V8QImode:
      if (pattern437 (x3, E_V8QImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1674; /* andv8qi3 */

    case E_V16QImode:
      if (pattern437 (x3, E_V16QImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1675; /* andv16qi3 */

    case E_V4HImode:
      if (pattern437 (x3, E_V4HImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1676; /* andv4hi3 */

    case E_V8HImode:
      if (pattern437 (x3, E_V8HImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1677; /* andv8hi3 */

    case E_V2SImode:
      if (pattern437 (x3, E_V2SImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1678; /* andv2si3 */

    case E_V4SImode:
      if (pattern437 (x3, E_V4SImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1679; /* andv4si3 */

    case E_V2DImode:
      if (pattern437 (x3, E_V2DImode) != 0
          || !
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1680; /* andv2di3 */

    case E_VNx16QImode:
      if (pattern372 (x3, E_VNx16QImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6554; /* andvnx16qi3 */

    case E_VNx8QImode:
      if (pattern372 (x3, E_VNx8QImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6557; /* andvnx8qi3 */

    case E_VNx4QImode:
      if (pattern372 (x3, E_VNx4QImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6560; /* andvnx4qi3 */

    case E_VNx2QImode:
      if (pattern372 (x3, E_VNx2QImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6563; /* andvnx2qi3 */

    case E_VNx8HImode:
      if (pattern372 (x3, E_VNx8HImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6566; /* andvnx8hi3 */

    case E_VNx4HImode:
      if (pattern372 (x3, E_VNx4HImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6569; /* andvnx4hi3 */

    case E_VNx2HImode:
      if (pattern372 (x3, E_VNx2HImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6572; /* andvnx2hi3 */

    case E_VNx4SImode:
      if (pattern372 (x3, E_VNx4SImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6575; /* andvnx4si3 */

    case E_VNx2SImode:
      if (pattern372 (x3, E_VNx2SImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6578; /* andvnx2si3 */

    case E_VNx2DImode:
      if (pattern372 (x3, E_VNx2DImode) != 0
          || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6581; /* andvnx2di3 */

    case E_VNx8BImode:
      if (pattern13 (x3, E_VNx8BImode) != 0
          || !
#line 6362 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7227; /* andvnx8bi3 */

    case E_VNx4BImode:
      if (pattern13 (x3, E_VNx4BImode) != 0
          || !
#line 6362 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7228; /* andvnx4bi3 */

    case E_VNx2BImode:
      if (pattern13 (x3, E_VNx2BImode) != 0
          || !
#line 6362 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7229; /* andvnx2bi3 */

    default:
      return -1;
    }
}

static int
recog_398 (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 (XVECLEN (x4, 0))
    {
    case 2:
      switch (pattern252 (x3))
        {
        case 0:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6584; /* *bicvnx16qi3 */

        case 1:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6585; /* *bicvnx8qi3 */

        case 2:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6586; /* *bicvnx4qi3 */

        case 3:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6587; /* *bicvnx2qi3 */

        case 4:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6588; /* *bicvnx8hi3 */

        case 5:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6589; /* *bicvnx4hi3 */

        case 6:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6590; /* *bicvnx2hi3 */

        case 7:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6591; /* *bicvnx4si3 */

        case 8:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6592; /* *bicvnx2si3 */

        case 9:
          if (!
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6593; /* *bicvnx2di3 */

        default:
          return -1;
        }

    case 3:
      if (pnum_clobbers == NULL
          || XINT (x4, 1) != 119)
        return -1;
      x5 = XVECEXP (x4, 0, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x3, 1);
      operands[1] = x7;
      x8 = XVECEXP (x4, 0, 2);
      switch (GET_CODE (x8))
        {
        case LT:
          switch (pattern637 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7916; /* *cmpltvnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7926; /* *cmpltvnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7956; /* *cmpltvnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7936; /* *cmpltvnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7966; /* *cmpltvnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7986; /* *cmpltvnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7946; /* *cmpltvnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7976; /* *cmpltvnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7996; /* *cmpltvnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8006; /* *cmpltvnx2di_and */

            default:
              return -1;
            }

        case LE:
          switch (pattern637 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7917; /* *cmplevnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7927; /* *cmplevnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7957; /* *cmplevnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7937; /* *cmplevnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7967; /* *cmplevnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7987; /* *cmplevnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7947; /* *cmplevnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7977; /* *cmplevnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7997; /* *cmplevnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8007; /* *cmplevnx2di_and */

            default:
              return -1;
            }

        case EQ:
          switch (pattern637 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7918; /* *cmpeqvnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7928; /* *cmpeqvnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7958; /* *cmpeqvnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7938; /* *cmpeqvnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7968; /* *cmpeqvnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7988; /* *cmpeqvnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7948; /* *cmpeqvnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7978; /* *cmpeqvnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7998; /* *cmpeqvnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8008; /* *cmpeqvnx2di_and */

            default:
              return -1;
            }

        case NE:
          switch (pattern637 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7919; /* *cmpnevnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7929; /* *cmpnevnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7959; /* *cmpnevnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7939; /* *cmpnevnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7969; /* *cmpnevnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7989; /* *cmpnevnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7949; /* *cmpnevnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7979; /* *cmpnevnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7999; /* *cmpnevnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8009; /* *cmpnevnx2di_and */

            default:
              return -1;
            }

        case GE:
          switch (pattern637 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7920; /* *cmpgevnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7930; /* *cmpgevnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7960; /* *cmpgevnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7940; /* *cmpgevnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7970; /* *cmpgevnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7990; /* *cmpgevnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7950; /* *cmpgevnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7980; /* *cmpgevnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8000; /* *cmpgevnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8010; /* *cmpgevnx2di_and */

            default:
              return -1;
            }

        case GT:
          switch (pattern637 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7921; /* *cmpgtvnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7931; /* *cmpgtvnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7961; /* *cmpgtvnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7941; /* *cmpgtvnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7971; /* *cmpgtvnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7991; /* *cmpgtvnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7951; /* *cmpgtvnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7981; /* *cmpgtvnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8001; /* *cmpgtvnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8011; /* *cmpgtvnx2di_and */

            default:
              return -1;
            }

        case LTU:
          switch (pattern638 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7922; /* *cmplovnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7932; /* *cmplovnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7962; /* *cmplovnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7942; /* *cmplovnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7972; /* *cmplovnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7992; /* *cmplovnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7952; /* *cmplovnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7982; /* *cmplovnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8002; /* *cmplovnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8012; /* *cmplovnx2di_and */

            default:
              return -1;
            }

        case LEU:
          switch (pattern638 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7923; /* *cmplsvnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7933; /* *cmplsvnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7963; /* *cmplsvnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7943; /* *cmplsvnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7973; /* *cmplsvnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7993; /* *cmplsvnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7953; /* *cmplsvnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7983; /* *cmplsvnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8003; /* *cmplsvnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8013; /* *cmplsvnx2di_and */

            default:
              return -1;
            }

        case GEU:
          switch (pattern638 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7924; /* *cmphsvnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7934; /* *cmphsvnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7964; /* *cmphsvnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7944; /* *cmphsvnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7974; /* *cmphsvnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7994; /* *cmphsvnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7954; /* *cmphsvnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7984; /* *cmphsvnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8004; /* *cmphsvnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8014; /* *cmphsvnx2di_and */

            default:
              return -1;
            }

        case GTU:
          switch (pattern638 (x3))
            {
            case 0:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7925; /* *cmphivnx16qi_and */

            case 1:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7935; /* *cmphivnx8qi_and */

            case 2:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7965; /* *cmphivnx8hi_and */

            case 3:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7945; /* *cmphivnx4qi_and */

            case 4:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7975; /* *cmphivnx4hi_and */

            case 5:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7995; /* *cmphivnx4si_and */

            case 6:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7955; /* *cmphivnx2qi_and */

            case 7:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7985; /* *cmphivnx2hi_and */

            case 8:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8005; /* *cmphivnx2si_and */

            case 9:
              if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8015; /* *cmphivnx2di_and */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      switch (pattern255 (x3))
        {
        case 0:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8367; /* *fcmeqvnx8hf_and_combine */

        case 1:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8373; /* *fcmeqvnx4sf_and_combine */

        case 2:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8379; /* *fcmeqvnx2df_and_combine */

        case 3:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8368; /* *fcmgevnx8hf_and_combine */

        case 4:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8374; /* *fcmgevnx4sf_and_combine */

        case 5:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8380; /* *fcmgevnx2df_and_combine */

        case 6:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8369; /* *fcmgtvnx8hf_and_combine */

        case 7:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8375; /* *fcmgtvnx4sf_and_combine */

        case 8:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8381; /* *fcmgtvnx2df_and_combine */

        case 9:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8370; /* *fcmlevnx8hf_and_combine */

        case 10:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8376; /* *fcmlevnx4sf_and_combine */

        case 11:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8382; /* *fcmlevnx2df_and_combine */

        case 12:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8371; /* *fcmltvnx8hf_and_combine */

        case 13:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8377; /* *fcmltvnx4sf_and_combine */

        case 14:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8383; /* *fcmltvnx2df_and_combine */

        case 15:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8372; /* *fcmnevnx8hf_and_combine */

        case 16:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8378; /* *fcmnevnx4sf_and_combine */

        case 17:
          if (!
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8384; /* *fcmnevnx2df_and_combine */

        case 18:
          if (!
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8385; /* *fcmuovnx8hf_and_combine */

        case 19:
          if (!
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8386; /* *fcmuovnx4sf_and_combine */

        case 20:
          if (!
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8387; /* *fcmuovnx2df_and_combine */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_399 (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);
  switch (GET_CODE (x3))
    {
    case CONST_INT:
    case REG:
    case SUBREG:
    case TRUNCATE:
      switch (GET_CODE (x3))
        {
        case REG:
        case SUBREG:
        case TRUNCATE:
          if (subreg_lowpart_operator (x3, E_VOIDmode))
            {
              operands[4] = x3;
              switch (pattern334 (x2))
                {
                case 0:
                  if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                    return 676; /* *aarch64_ashl_reg_si3_mask1 */
                  break;

                case 1:
                  if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                    return 680; /* *aarch64_ashl_reg_di3_mask1 */
                  break;

                case 2:
                  if (
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                    return 694; /* *aarch64_ashl_reg_di3_mask2 */
                  break;

                case 3:
                  if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                    return 684; /* *aarch64_ashl_reg_si3_neg_mask2 */
                  break;

                case 4:
                  if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                    return 688; /* *aarch64_ashl_reg_di3_neg_mask2 */
                  break;

                default:
                  break;
                }
            }
          operands[2] = x3;
          switch (GET_MODE (operands[0]))
            {
            case E_V8QImode:
              if (pattern13 (x2, E_V8QImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1775; /* aarch64_simd_reg_sshlv8qi */
              break;

            case E_V16QImode:
              if (pattern13 (x2, E_V16QImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1776; /* aarch64_simd_reg_sshlv16qi */
              break;

            case E_V4HImode:
              if (pattern13 (x2, E_V4HImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1777; /* aarch64_simd_reg_sshlv4hi */
              break;

            case E_V8HImode:
              if (pattern13 (x2, E_V8HImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1778; /* aarch64_simd_reg_sshlv8hi */
              break;

            case E_V2SImode:
              if (pattern13 (x2, E_V2SImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1779; /* aarch64_simd_reg_sshlv2si */
              break;

            case E_V4SImode:
              if (pattern13 (x2, E_V4SImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1780; /* aarch64_simd_reg_sshlv4si */
              break;

            case E_V2DImode:
              if (pattern13 (x2, E_V2DImode) == 0
                  && 
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1781; /* aarch64_simd_reg_sshlv2di */
              break;

            default:
              break;
            }
          break;

        case CONST_INT:
          switch (pattern336 (x2))
            {
            case 0:
              if (
#line 5487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
                return 721; /* *ashlqi3_insn */
              break;

            case 1:
              if (
#line 5487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
                return 724; /* *ashlhi3_insn */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      operands[2] = x3;
      switch (pattern337 (x2))
        {
        case 0:
          return 704; /* *aarch64_ashl_sisd_or_int_si3 */

        case 1:
          return 705; /* *aarch64_ashl_sisd_or_int_di3 */

        default:
          return -1;
        }

    case MINUS:
      if (GET_MODE (x3) != E_QImode)
        return -1;
      x4 = XEXP (x3, 0);
      operands[2] = x4;
      if (!const_int_operand (operands[2], E_VOIDmode))
        return -1;
      x5 = XEXP (x3, 1);
      if (subreg_lowpart_operator (x5, E_VOIDmode))
        {
          switch (pattern541 (x2))
            {
            case 0:
              if (
#line 5228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
                return 692; /* *aarch64_ashl_reg_si3_minus_mask */
              break;

            case 1:
              if (
#line 5228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
                return 693; /* *aarch64_ashl_reg_di3_minus_mask */
              break;

            default:
              break;
            }
        }
      operands[3] = x5;
      if (!register_operand (operands[3], E_QImode))
        return -1;
      switch (pattern1 (x2))
        {
        case 0:
          if (!
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
            return -1;
          return 698; /* *aarch64_ashl_reg_minussi3 */

        case 1:
          if (!
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
            return -1;
          return 701; /* *aarch64_ashl_reg_minusdi3 */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      operands[2] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern494 (x2, E_V8QImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1768; /* aarch64_simd_imm_shlv8qi */

        case E_V16QImode:
          if (pattern494 (x2, E_V16QImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1769; /* aarch64_simd_imm_shlv16qi */

        case E_V4HImode:
          if (pattern494 (x2, E_V4HImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1770; /* aarch64_simd_imm_shlv4hi */

        case E_V8HImode:
          if (pattern494 (x2, E_V8HImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1771; /* aarch64_simd_imm_shlv8hi */

        case E_V2SImode:
          if (pattern494 (x2, E_V2SImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1772; /* aarch64_simd_imm_shlv2si */

        case E_V4SImode:
          if (pattern494 (x2, E_V4SImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1773; /* aarch64_simd_imm_shlv4si */

        case E_V2DImode:
          if (pattern494 (x2, E_V2DImode) != 0
              || !
#line 1157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1774; /* aarch64_simd_imm_shlv2di */

        case E_VNx16QImode:
          if (pattern494 (x2, E_VNx16QImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6644; /* *post_ra_vashlvnx16qi3 */

        case E_VNx8QImode:
          if (pattern494 (x2, E_VNx8QImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6647; /* *post_ra_vashlvnx8qi3 */

        case E_VNx4QImode:
          if (pattern494 (x2, E_VNx4QImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6650; /* *post_ra_vashlvnx4qi3 */

        case E_VNx2QImode:
          if (pattern494 (x2, E_VNx2QImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6653; /* *post_ra_vashlvnx2qi3 */

        case E_VNx8HImode:
          if (pattern494 (x2, E_VNx8HImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6656; /* *post_ra_vashlvnx8hi3 */

        case E_VNx4HImode:
          if (pattern494 (x2, E_VNx4HImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6659; /* *post_ra_vashlvnx4hi3 */

        case E_VNx2HImode:
          if (pattern494 (x2, E_VNx2HImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6662; /* *post_ra_vashlvnx2hi3 */

        case E_VNx4SImode:
          if (pattern494 (x2, E_VNx4SImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6665; /* *post_ra_vashlvnx4si3 */

        case E_VNx2SImode:
          if (pattern494 (x2, E_VNx2SImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6668; /* *post_ra_vashlvnx2si3 */

        case E_VNx2DImode:
          if (pattern494 (x2, E_VNx2DImode) != 0
              || !
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6671; /* *post_ra_vashlvnx2di3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_400 (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:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (pattern338 (x3))
        {
        case 0:
          if (!
#line 5656 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
            return -1;
          return 754; /* *extzvsi */

        case 1:
          if (!
#line 5656 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (DImode) - 1)))
            return -1;
          return 756; /* *extzvdi */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x8 = XEXP (x2, 1);
      operands[1] = x8;
      if (!const_int_operand (operands[1], E_VOIDmode))
        return -1;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[2] = x4;
      if (!const_int_operand (operands[3], E_VOIDmode))
        return -1;
      x5 = XEXP (x3, 1);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (GET_MODE (x2))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x3) != E_SImode
              || !register_operand (operands[2], E_SImode)
              || !
#line 5875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[3]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (SImode)))))
            return -1;
          return 780; /* *extr_insv_lower_regsi */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || !register_operand (operands[2], E_DImode)
              || !
#line 5875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[3]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (DImode)))))
            return -1;
          return 781; /* *extr_insv_lower_regdi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_401 (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 (GET_CODE (x3) != FLOAT_EXTEND)
    return -1;
  x4 = XEXP (x2, 2);
  operands[1] = x4;
  x5 = XEXP (x2, 0);
  x6 = XEXP (x5, 0);
  switch (GET_CODE (x6))
    {
    case VEC_SELECT:
      x7 = XEXP (x6, 0);
      operands[2] = x7;
      x8 = XEXP (x6, 1);
      operands[4] = x8;
      x9 = XEXP (x3, 0);
      switch (pattern526 (x9))
        {
        case 0:
          if (pattern718 (x2, E_V2SFmode, E_V4HFmode, E_V2HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V4HFmode)
              && vect_par_cnst_lo_half (operands[5], E_V4HFmode)
              && 
#line 8405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4269; /* aarch64_simd_fmlal_lowv2sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V4HFmode)
              || !
#line 8440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4273; /* aarch64_simd_fmlal_highv2sf */

        case 1:
          if (pattern718 (x2, E_V4SFmode, E_V8HFmode, E_V4HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V8HFmode)
              && vect_par_cnst_lo_half (operands[5], E_V8HFmode)
              && 
#line 8405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4270; /* aarch64_simd_fmlalq_lowv4sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V8HFmode)
              || !
#line 8440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4274; /* aarch64_simd_fmlalq_highv4sf */

        case 2:
          if (pattern840 (x2, E_V2SFmode, E_V2HFmode, E_V4HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V4HFmode))
            {
              switch (pattern933 ())
                {
                case 0:
                  if (
#line 8517 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4277; /* aarch64_simd_fmlal_lane_lowv2sf */
                  break;

                case 1:
                  if (
#line 8747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4285; /* aarch64_simd_fmlal_laneq_lowv2sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode))
            return -1;
          switch (pattern933 ())
            {
            case 0:
              if (!
#line 8554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4279; /* aarch64_simd_fmlal_lane_highv2sf */

            case 1:
              if (!
#line 8784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4287; /* aarch64_simd_fmlal_laneq_highv2sf */

            default:
              return -1;
            }

        case 3:
          if (pattern840 (x2, E_V4SFmode, E_V4HFmode, E_V8HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V8HFmode))
            {
              switch (pattern934 ())
                {
                case 0:
                  if (
#line 8631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4281; /* aarch64_simd_fmlalq_laneq_lowv4sf */
                  break;

                case 1:
                  if (
#line 8861 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4289; /* aarch64_simd_fmlalq_lane_lowv4sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode))
            return -1;
          switch (pattern934 ())
            {
            case 0:
              if (!
#line 8668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4283; /* aarch64_simd_fmlalq_laneq_highv4sf */

            case 1:
              if (!
#line 8898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4291; /* aarch64_simd_fmlalq_lane_highv4sf */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != VEC_SELECT)
        return -1;
      x10 = XEXP (x7, 0);
      operands[2] = x10;
      x11 = XEXP (x7, 1);
      operands[4] = x11;
      x9 = XEXP (x3, 0);
      switch (pattern526 (x9))
        {
        case 0:
          if (pattern764 (x2, E_V2SFmode, E_V4HFmode, E_V2HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V4HFmode)
              && vect_par_cnst_lo_half (operands[5], E_V4HFmode)
              && 
#line 8423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4271; /* aarch64_simd_fmlsl_lowv2sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V4HFmode)
              || !
#line 8458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4275; /* aarch64_simd_fmlsl_highv2sf */

        case 1:
          if (pattern764 (x2, E_V4SFmode, E_V8HFmode, E_V4HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V8HFmode)
              && vect_par_cnst_lo_half (operands[5], E_V8HFmode)
              && 
#line 8423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4272; /* aarch64_simd_fmlslq_lowv4sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V8HFmode)
              || !
#line 8458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4276; /* aarch64_simd_fmlslq_highv4sf */

        case 2:
          if (pattern858 (x2, E_V2SFmode, E_V2HFmode, E_V4HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V4HFmode))
            {
              switch (pattern933 ())
                {
                case 0:
                  if (
#line 8536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4278; /* aarch64_simd_fmlsl_lane_lowv2sf */
                  break;

                case 1:
                  if (
#line 8766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4286; /* aarch64_simd_fmlsl_laneq_lowv2sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode))
            return -1;
          switch (pattern933 ())
            {
            case 0:
              if (!
#line 8573 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4280; /* aarch64_simd_fmlsl_lane_highv2sf */

            case 1:
              if (!
#line 8803 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4288; /* aarch64_simd_fmlsl_laneq_highv2sf */

            default:
              return -1;
            }

        case 3:
          if (pattern858 (x2, E_V4SFmode, E_V4HFmode, E_V8HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V8HFmode))
            {
              switch (pattern934 ())
                {
                case 0:
                  if (
#line 8650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4282; /* aarch64_simd_fmlslq_laneq_lowv4sf */
                  break;

                case 1:
                  if (
#line 8880 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4290; /* aarch64_simd_fmlslq_lane_lowv4sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode))
            return -1;
          switch (pattern934 ())
            {
            case 0:
              if (!
#line 8687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4284; /* aarch64_simd_fmlslq_laneq_highv4sf */

            case 1:
              if (!
#line 8917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4292; /* aarch64_simd_fmlslq_lane_highv4sf */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_402 (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 (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8QImode
          || !register_operand (operands[1], E_QImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1136; /* aarch64_simd_dupv8qi */

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V16QImode
          || !register_operand (operands[1], E_QImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1137; /* aarch64_simd_dupv16qi */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HImode
          || !register_operand (operands[1], E_HImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1138; /* aarch64_simd_dupv4hi */

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8HImode
          || !register_operand (operands[1], E_HImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1139; /* aarch64_simd_dupv8hi */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SImode
          || !register_operand (operands[1], E_SImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1140; /* aarch64_simd_dupv2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SImode
          || !register_operand (operands[1], E_SImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1141; /* aarch64_simd_dupv4si */

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2DImode
          || !register_operand (operands[1], E_DImode)
          || !
#line 69 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1142; /* aarch64_simd_dupv2di */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4HFmode
          || !register_operand (operands[1], E_HFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1143; /* aarch64_simd_dupv4hf */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8HFmode
          || !register_operand (operands[1], E_HFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1144; /* aarch64_simd_dupv8hf */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1145; /* aarch64_simd_dupv2sf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1146; /* aarch64_simd_dupv4sf */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V2DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1147; /* aarch64_simd_dupv2df */

    case E_V4BFmode:
      if (!register_operand (operands[0], E_V4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V4BFmode
          || !register_operand (operands[1], E_BFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1148; /* aarch64_simd_dupv4bf */

    case E_V8BFmode:
      if (!register_operand (operands[0], E_V8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_V8BFmode
          || !register_operand (operands[1], E_BFmode)
          || !
#line 80 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1149; /* aarch64_simd_dupv8bf */

    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx16QImode
          || !register_operand (operands[1], E_V16QImode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5088; /* aarch64_vec_duplicate_vqvnx16qi_le */

    case E_VNx8HImode:
      if (!register_operand (operands[0], E_VNx8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5089; /* aarch64_vec_duplicate_vqvnx8hi_le */

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5090; /* aarch64_vec_duplicate_vqvnx4si_le */

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5091; /* aarch64_vec_duplicate_vqvnx2di_le */

    case E_VNx8BFmode:
      if (!register_operand (operands[0], E_VNx8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8BFmode
          || !register_operand (operands[1], E_V8BFmode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5092; /* aarch64_vec_duplicate_vqvnx8bf_le */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5093; /* aarch64_vec_duplicate_vqvnx8hf_le */

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5094; /* aarch64_vec_duplicate_vqvnx4sf_le */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 2540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
        return -1;
      return 5095; /* aarch64_vec_duplicate_vqvnx2df_le */

    default:
      return -1;
    }
}

static int
recog_403 (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, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  if (XVECLEN (x4, 0) == 1)
    {
      x6 = XVECEXP (x4, 0, 0);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern533 (x2, E_V8QImode, E_QImode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V8QImode:
                  if (register_operand (operands[1], E_V8QImode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1150; /* aarch64_dup_lanev8qi */
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1164; /* aarch64_dup_lane_to_128v8qi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V16QImode:
          if (pattern533 (x2, E_V16QImode, E_QImode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1151; /* aarch64_dup_lanev16qi */
                  break;

                case E_V8QImode:
                  if (register_operand (operands[1], E_V8QImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1165; /* aarch64_dup_lane_to_64v16qi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4HImode:
          if (pattern533 (x2, E_V4HImode, E_HImode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (register_operand (operands[1], E_V4HImode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1152; /* aarch64_dup_lanev4hi */
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1166; /* aarch64_dup_lane_to_128v4hi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V8HImode:
          if (pattern533 (x2, E_V8HImode, E_HImode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1153; /* aarch64_dup_lanev8hi */
                  break;

                case E_V4HImode:
                  if (register_operand (operands[1], E_V4HImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1167; /* aarch64_dup_lane_to_64v8hi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V2SImode:
          if (pattern533 (x2, E_V2SImode, E_SImode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (register_operand (operands[1], E_V2SImode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1154; /* aarch64_dup_lanev2si */
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1168; /* aarch64_dup_lane_to_128v2si */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4SImode:
          if (pattern533 (x2, E_V4SImode, E_SImode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1155; /* aarch64_dup_lanev4si */
                  break;

                case E_V2SImode:
                  if (register_operand (operands[1], E_V2SImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1169; /* aarch64_dup_lane_to_64v4si */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V2DImode:
          if (pattern534 (x2, E_V2DImode, E_DImode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1156; /* aarch64_dup_lanev2di */
          break;

        case E_V4HFmode:
          if (pattern533 (x2, E_V4HFmode, E_HFmode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HFmode:
                  if (register_operand (operands[1], E_V4HFmode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1157; /* aarch64_dup_lanev4hf */
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1170; /* aarch64_dup_lane_to_128v4hf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V8HFmode:
          if (pattern533 (x2, E_V8HFmode, E_HFmode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1158; /* aarch64_dup_lanev8hf */
                  break;

                case E_V4HFmode:
                  if (register_operand (operands[1], E_V4HFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1171; /* aarch64_dup_lane_to_64v8hf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4BFmode:
          if (pattern534 (x2, E_V4BFmode, E_BFmode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1159; /* aarch64_dup_lanev4bf */
          break;

        case E_V8BFmode:
          if (pattern534 (x2, E_V8BFmode, E_BFmode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1160; /* aarch64_dup_lanev8bf */
          break;

        case E_V2SFmode:
          if (pattern533 (x2, E_V2SFmode, E_SFmode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SFmode:
                  if (register_operand (operands[1], E_V2SFmode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1161; /* aarch64_dup_lanev2sf */
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1172; /* aarch64_dup_lane_to_128v2sf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4SFmode:
          if (pattern533 (x2, E_V4SFmode, E_SFmode) == 0)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1162; /* aarch64_dup_lanev4sf */
                  break;

                case E_V2SFmode:
                  if (register_operand (operands[1], E_V2SFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1173; /* aarch64_dup_lane_to_64v4sf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V2DFmode:
          if (pattern534 (x2, E_V2DFmode, E_DFmode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1163; /* aarch64_dup_lanev2df */
          break;

        case E_VNx16QImode:
          if (pattern535 (x2, E_VNx16QImode, E_QImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 8 / 8, 0, 63)))
            return 8559; /* aarch64_sve_dup_lanevnx16qi */
          break;

        case E_VNx8QImode:
          if (pattern535 (x2, E_VNx8QImode, E_QImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8560; /* aarch64_sve_dup_lanevnx8qi */
          break;

        case E_VNx4QImode:
          if (pattern535 (x2, E_VNx4QImode, E_QImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8561; /* aarch64_sve_dup_lanevnx4qi */
          break;

        case E_VNx2QImode:
          if (pattern535 (x2, E_VNx2QImode, E_QImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8562; /* aarch64_sve_dup_lanevnx2qi */
          break;

        case E_VNx8HImode:
          if (pattern535 (x2, E_VNx8HImode, E_HImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8563; /* aarch64_sve_dup_lanevnx8hi */
          break;

        case E_VNx4HImode:
          if (pattern535 (x2, E_VNx4HImode, E_HImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8564; /* aarch64_sve_dup_lanevnx4hi */
          break;

        case E_VNx2HImode:
          if (pattern535 (x2, E_VNx2HImode, E_HImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8565; /* aarch64_sve_dup_lanevnx2hi */
          break;

        case E_VNx8HFmode:
          if (pattern535 (x2, E_VNx8HFmode, E_HFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8566; /* aarch64_sve_dup_lanevnx8hf */
          break;

        case E_VNx4HFmode:
          if (pattern535 (x2, E_VNx4HFmode, E_HFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8567; /* aarch64_sve_dup_lanevnx4hf */
          break;

        case E_VNx2HFmode:
          if (pattern535 (x2, E_VNx2HFmode, E_HFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8568; /* aarch64_sve_dup_lanevnx2hf */
          break;

        case E_VNx8BFmode:
          if (pattern535 (x2, E_VNx8BFmode, E_BFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8569; /* aarch64_sve_dup_lanevnx8bf */
          break;

        case E_VNx4BFmode:
          if (pattern535 (x2, E_VNx4BFmode, E_BFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8570; /* aarch64_sve_dup_lanevnx4bf */
          break;

        case E_VNx2BFmode:
          if (pattern535 (x2, E_VNx2BFmode, E_BFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8571; /* aarch64_sve_dup_lanevnx2bf */
          break;

        case E_VNx4SImode:
          if (pattern535 (x2, E_VNx4SImode, E_SImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8572; /* aarch64_sve_dup_lanevnx4si */
          break;

        case E_VNx2SImode:
          if (pattern535 (x2, E_VNx2SImode, E_SImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8573; /* aarch64_sve_dup_lanevnx2si */
          break;

        case E_VNx4SFmode:
          if (pattern535 (x2, E_VNx4SFmode, E_SFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8574; /* aarch64_sve_dup_lanevnx4sf */
          break;

        case E_VNx2SFmode:
          if (pattern535 (x2, E_VNx2SFmode, E_SFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8575; /* aarch64_sve_dup_lanevnx2sf */
          break;

        case E_VNx2DImode:
          if (pattern535 (x2, E_VNx2DImode, E_DImode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8576; /* aarch64_sve_dup_lanevnx2di */
          break;

        case E_VNx2DFmode:
          if (pattern535 (x2, E_VNx2DFmode, E_DFmode) == 0
              && 
#line 8682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8577; /* aarch64_sve_dup_lanevnx2df */
          break;

        default:
          break;
        }
    }
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x2) != E_VNx16QImode
          || GET_MODE (x3) != E_V16QImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V16QImode:
          if (!register_operand (operands[1], E_V16QImode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V16QImode) - 1)))
            return -1;
          return 5096; /* aarch64_vec_duplicate_vqvnx16qi_be */

        case E_VNx16QImode:
          if (!register_operand (operands[1], E_VNx16QImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (QImode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (QImode), 0, 63)))
            return -1;
          return 8578; /* aarch64_sve_dupq_lanevnx16qi */

        default:
          return -1;
        }

    case E_VNx8HImode:
      if (!register_operand (operands[0], E_VNx8HImode)
          || GET_MODE (x2) != E_VNx8HImode
          || GET_MODE (x3) != E_V8HImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V8HImode:
          if (!register_operand (operands[1], E_V8HImode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V8HImode) - 1)))
            return -1;
          return 5097; /* aarch64_vec_duplicate_vqvnx8hi_be */

        case E_VNx8HImode:
          if (!register_operand (operands[1], E_VNx8HImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (HImode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (HImode), 0, 63)))
            return -1;
          return 8579; /* aarch64_sve_dupq_lanevnx8hi */

        default:
          return -1;
        }

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode)
          || GET_MODE (x2) != E_VNx4SImode
          || GET_MODE (x3) != E_V4SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V4SImode:
          if (!register_operand (operands[1], E_V4SImode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V4SImode) - 1)))
            return -1;
          return 5098; /* aarch64_vec_duplicate_vqvnx4si_be */

        case E_VNx4SImode:
          if (!register_operand (operands[1], E_VNx4SImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (SImode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (SImode), 0, 63)))
            return -1;
          return 8580; /* aarch64_sve_dupq_lanevnx4si */

        default:
          return -1;
        }

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode)
          || GET_MODE (x2) != E_VNx2DImode
          || GET_MODE (x3) != E_V2DImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V2DImode:
          if (!register_operand (operands[1], E_V2DImode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V2DImode) - 1)))
            return -1;
          return 5099; /* aarch64_vec_duplicate_vqvnx2di_be */

        case E_VNx2DImode:
          if (!register_operand (operands[1], E_VNx2DImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (DImode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (DImode), 0, 63)))
            return -1;
          return 8581; /* aarch64_sve_dupq_lanevnx2di */

        default:
          return -1;
        }

    case E_VNx8BFmode:
      if (!register_operand (operands[0], E_VNx8BFmode)
          || GET_MODE (x2) != E_VNx8BFmode
          || GET_MODE (x3) != E_V8BFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V8BFmode:
          if (!register_operand (operands[1], E_V8BFmode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V8BFmode) - 1)))
            return -1;
          return 5100; /* aarch64_vec_duplicate_vqvnx8bf_be */

        case E_VNx8BFmode:
          if (!register_operand (operands[1], E_VNx8BFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (BFmode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (BFmode), 0, 63)))
            return -1;
          return 8582; /* aarch64_sve_dupq_lanevnx8bf */

        default:
          return -1;
        }

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x2) != E_VNx8HFmode
          || GET_MODE (x3) != E_V8HFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V8HFmode:
          if (!register_operand (operands[1], E_V8HFmode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V8HFmode) - 1)))
            return -1;
          return 5101; /* aarch64_vec_duplicate_vqvnx8hf_be */

        case E_VNx8HFmode:
          if (!register_operand (operands[1], E_VNx8HFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (HFmode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (HFmode), 0, 63)))
            return -1;
          return 8583; /* aarch64_sve_dupq_lanevnx8hf */

        default:
          return -1;
        }

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x2) != E_VNx4SFmode
          || GET_MODE (x3) != E_V4SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V4SFmode:
          if (!register_operand (operands[1], E_V4SFmode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V4SFmode) - 1)))
            return -1;
          return 5102; /* aarch64_vec_duplicate_vqvnx4sf_be */

        case E_VNx4SFmode:
          if (!register_operand (operands[1], E_VNx4SFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (SFmode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (SFmode), 0, 63)))
            return -1;
          return 8584; /* aarch64_sve_dupq_lanevnx4sf */

        default:
          return -1;
        }

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x2) != E_VNx2DFmode
          || GET_MODE (x3) != E_V2DFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_V2DFmode:
          if (!register_operand (operands[1], E_V2DFmode)
              || !descending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 2558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && BYTES_BIG_ENDIAN
   && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)),
		GET_MODE_NUNITS (V2DFmode) - 1)))
            return -1;
          return 5103; /* aarch64_vec_duplicate_vqvnx2df_be */

        case E_VNx2DFmode:
          if (!register_operand (operands[1], E_VNx2DFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (INTVAL (XVECEXP (operands[2], 0, 0))
       * GET_MODE_SIZE (DFmode)) % 16 == 0
   && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0))
		* GET_MODE_SIZE (DFmode), 0, 63)))
            return -1;
          return 8585; /* aarch64_sve_dupq_lanevnx2df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_404 (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);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (GET_MODE (x2) == E_QImode)
        {
          if (memory_operand (operands[0], E_QImode)
              && const_int_operand (operands[2], E_VOIDmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V8QImode:
                  if (register_operand (operands[1], E_V8QImode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1188; /* aarch64_store_lane0v8qi */
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (16, INTVAL (operands[2])) == 0))
                    return 1189; /* aarch64_store_lane0v16qi */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_simd_nonimmediate_operand (operands[0], E_QImode)
              && immediate_operand (operands[2], E_SImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V8QImode:
                  if (register_operand (operands[1], E_V8QImode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2500; /* aarch64_get_lanev8qi */
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2501; /* aarch64_get_lanev16qi */
                  break;

                default:
                  break;
                }
            }
        }
      break;

    case E_HImode:
      if (GET_MODE (x2) == E_HImode)
        {
          if (memory_operand (operands[0], E_HImode)
              && const_int_operand (operands[2], E_VOIDmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (register_operand (operands[1], E_V4HImode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1190; /* aarch64_store_lane0v4hi */
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1191; /* aarch64_store_lane0v8hi */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_simd_nonimmediate_operand (operands[0], E_HImode)
              && immediate_operand (operands[2], E_SImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (register_operand (operands[1], E_V4HImode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2502; /* aarch64_get_lanev4hi */
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2503; /* aarch64_get_lanev8hi */
                  break;

                default:
                  break;
                }
            }
        }
      break;

    case E_SImode:
      if (GET_MODE (x2) == E_SImode)
        {
          if (memory_operand (operands[0], E_SImode)
              && const_int_operand (operands[2], E_VOIDmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (register_operand (operands[1], E_V2SImode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
                    return 1192; /* aarch64_store_lane0v2si */
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1193; /* aarch64_store_lane0v4si */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_simd_nonimmediate_operand (operands[0], E_SImode)
              && immediate_operand (operands[2], E_SImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (register_operand (operands[1], E_V2SImode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2504; /* aarch64_get_lanev2si */
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2505; /* aarch64_get_lanev4si */
                  break;

                default:
                  break;
                }
            }
        }
      break;

    case E_DImode:
      if (GET_MODE (x2) == E_DImode
          && register_operand (operands[1], E_V2DImode))
        {
          if (memory_operand (operands[0], E_DImode)
              && const_int_operand (operands[2], E_VOIDmode)
              && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
            return 1194; /* aarch64_store_lane0v2di */
          if (aarch64_simd_nonimmediate_operand (operands[0], E_DImode)
              && immediate_operand (operands[2], E_SImode)
              && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2506; /* aarch64_get_lanev2di */
        }
      break;

    case E_HFmode:
      if (GET_MODE (x2) == E_HFmode)
        {
          if (memory_operand (operands[0], E_HFmode)
              && const_int_operand (operands[2], E_VOIDmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HFmode:
                  if (register_operand (operands[1], E_V4HFmode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1195; /* aarch64_store_lane0v4hf */
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1196; /* aarch64_store_lane0v8hf */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_simd_nonimmediate_operand (operands[0], E_HFmode)
              && immediate_operand (operands[2], E_SImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HFmode:
                  if (register_operand (operands[1], E_V4HFmode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2507; /* aarch64_get_lanev4hf */
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2508; /* aarch64_get_lanev8hf */
                  break;

                default:
                  break;
                }
            }
        }
      break;

    case E_BFmode:
      if (GET_MODE (x2) == E_BFmode)
        {
          if (memory_operand (operands[0], E_BFmode)
              && const_int_operand (operands[2], E_VOIDmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4BFmode:
                  if (register_operand (operands[1], E_V4BFmode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1197; /* aarch64_store_lane0v4bf */
                  break;

                case E_V8BFmode:
                  if (register_operand (operands[1], E_V8BFmode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1198; /* aarch64_store_lane0v8bf */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_simd_nonimmediate_operand (operands[0], E_BFmode)
              && immediate_operand (operands[2], E_SImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4BFmode:
                  if (register_operand (operands[1], E_V4BFmode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2509; /* aarch64_get_lanev4bf */
                  break;

                case E_V8BFmode:
                  if (register_operand (operands[1], E_V8BFmode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2510; /* aarch64_get_lanev8bf */
                  break;

                default:
                  break;
                }
            }
        }
      break;

    case E_SFmode:
      if (GET_MODE (x2) == E_SFmode)
        {
          if (memory_operand (operands[0], E_SFmode)
              && const_int_operand (operands[2], E_VOIDmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SFmode:
                  if (register_operand (operands[1], E_V2SFmode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
                    return 1199; /* aarch64_store_lane0v2sf */
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1200; /* aarch64_store_lane0v4sf */
                  break;

                default:
                  break;
                }
            }
          if (aarch64_simd_nonimmediate_operand (operands[0], E_SFmode)
              && immediate_operand (operands[2], E_SImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SFmode:
                  if (register_operand (operands[1], E_V2SFmode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2511; /* aarch64_get_lanev2sf */
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2512; /* aarch64_get_lanev4sf */
                  break;

                default:
                  break;
                }
            }
        }
      break;

    case E_DFmode:
      if (GET_MODE (x2) == E_DFmode
          && register_operand (operands[1], E_V2DFmode))
        {
          if (memory_operand (operands[0], E_DFmode)
              && const_int_operand (operands[2], E_VOIDmode)
              && 
#line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
            return 1201; /* aarch64_store_lane0v2df */
          if (aarch64_simd_nonimmediate_operand (operands[0], E_DFmode)
              && immediate_operand (operands[2], E_SImode)
              && 
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2513; /* aarch64_get_lanev2df */
        }
      break;

    default:
      break;
    }
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  if (XWINT (x4, 0) == 0L)
    {
      switch (pattern449 (x2))
        {
        case 0:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5167; /* *vec_extractvnx16qiqi_0 */
          break;

        case 1:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5168; /* *vec_extractvnx8hihi_0 */
          break;

        case 2:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5169; /* *vec_extractvnx4sisi_0 */
          break;

        case 3:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5170; /* *vec_extractvnx2didi_0 */
          break;

        case 4:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5171; /* *vec_extractvnx8bfbf_0 */
          break;

        case 5:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5172; /* *vec_extractvnx8hfhf_0 */
          break;

        case 6:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5173; /* *vec_extractvnx4sfsf_0 */
          break;

        case 7:
          if (
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5174; /* *vec_extractvnx2dfdf_0 */
          break;

        default:
          break;
        }
    }
  operands[2] = x4;
  if (!const_int_operand (operands[2], E_SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (GET_MODE (x2) != E_QImode
          || !register_operand (operands[1], E_VNx16QImode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_QImode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (QImode), 1, 15)))
        return 5175; /* *vec_extractvnx16qiqi_v128 */
      if (!register_operand (operands[0], E_QImode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (QImode), 16, 63)))
        return 5183; /* *vec_extractvnx16qiqi_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (QImode) >= 64))
        return -1;
      return 5191; /* *vec_extractvnx16qiqi_ext */

    case E_HImode:
      if (GET_MODE (x2) != E_HImode
          || !register_operand (operands[1], E_VNx8HImode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_HImode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HImode), 1, 15)))
        return 5176; /* *vec_extractvnx8hihi_v128 */
      if (!register_operand (operands[0], E_HImode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HImode), 16, 63)))
        return 5184; /* *vec_extractvnx8hihi_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (HImode) >= 64))
        return -1;
      return 5192; /* *vec_extractvnx8hihi_ext */

    case E_SImode:
      if (GET_MODE (x2) != E_SImode
          || !register_operand (operands[1], E_VNx4SImode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_SImode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SImode), 1, 15)))
        return 5177; /* *vec_extractvnx4sisi_v128 */
      if (!register_operand (operands[0], E_SImode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SImode), 16, 63)))
        return 5185; /* *vec_extractvnx4sisi_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (SImode) >= 64))
        return -1;
      return 5193; /* *vec_extractvnx4sisi_ext */

    case E_DImode:
      if (GET_MODE (x2) != E_DImode
          || !register_operand (operands[1], E_VNx2DImode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_DImode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DImode), 1, 15)))
        return 5178; /* *vec_extractvnx2didi_v128 */
      if (!register_operand (operands[0], E_DImode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DImode), 16, 63)))
        return 5186; /* *vec_extractvnx2didi_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (DImode) >= 64))
        return -1;
      return 5194; /* *vec_extractvnx2didi_ext */

    case E_BFmode:
      if (GET_MODE (x2) != E_BFmode
          || !register_operand (operands[1], E_VNx8BFmode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_BFmode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (BFmode), 1, 15)))
        return 5179; /* *vec_extractvnx8bfbf_v128 */
      if (!register_operand (operands[0], E_BFmode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (BFmode), 16, 63)))
        return 5187; /* *vec_extractvnx8bfbf_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (BFmode) >= 64))
        return -1;
      return 5195; /* *vec_extractvnx8bfbf_ext */

    case E_HFmode:
      if (GET_MODE (x2) != E_HFmode
          || !register_operand (operands[1], E_VNx8HFmode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_HFmode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HFmode), 1, 15)))
        return 5180; /* *vec_extractvnx8hfhf_v128 */
      if (!register_operand (operands[0], E_HFmode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HFmode), 16, 63)))
        return 5188; /* *vec_extractvnx8hfhf_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (HFmode) >= 64))
        return -1;
      return 5196; /* *vec_extractvnx8hfhf_ext */

    case E_SFmode:
      if (GET_MODE (x2) != E_SFmode
          || !register_operand (operands[1], E_VNx4SFmode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_SFmode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SFmode), 1, 15)))
        return 5181; /* *vec_extractvnx4sfsf_v128 */
      if (!register_operand (operands[0], E_SFmode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SFmode), 16, 63)))
        return 5189; /* *vec_extractvnx4sfsf_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (SFmode) >= 64))
        return -1;
      return 5197; /* *vec_extractvnx4sfsf_ext */

    case E_DFmode:
      if (GET_MODE (x2) != E_DFmode
          || !register_operand (operands[1], E_VNx2DFmode))
        return -1;
      if (aarch64_simd_nonimmediate_operand (operands[0], E_DFmode)
          && 
#line 2797 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DFmode), 1, 15)))
        return 5182; /* *vec_extractvnx2dfdf_v128 */
      if (!register_operand (operands[0], E_DFmode))
        return -1;
      if (
#line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DFmode), 16, 63)))
        return 5190; /* *vec_extractvnx2dfdf_dup */
      if (!
#line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (DFmode) >= 64))
        return -1;
      return 5198; /* *vec_extractvnx2dfdf_ext */

    default:
      return -1;
    }
}

static int
recog_405 (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);
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  switch (GET_CODE (operands[0]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern537 (x2, E_V8QImode, E_V16QImode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V16QImode, operands[1], operands[2])))
            return 2514; /* load_pair_lanesv8qi */
          break;

        case E_V8HImode:
          if (pattern537 (x2, E_V4HImode, E_V8HImode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V8HImode, operands[1], operands[2])))
            return 2515; /* load_pair_lanesv4hi */
          break;

        case E_V8BFmode:
          if (pattern537 (x2, E_V4BFmode, E_V8BFmode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V8BFmode, operands[1], operands[2])))
            return 2516; /* load_pair_lanesv4bf */
          break;

        case E_V8HFmode:
          if (pattern537 (x2, E_V4HFmode, E_V8HFmode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V8HFmode, operands[1], operands[2])))
            return 2517; /* load_pair_lanesv4hf */
          break;

        case E_V4SImode:
          if (pattern537 (x2, E_V2SImode, E_V4SImode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V4SImode, operands[1], operands[2])))
            return 2518; /* load_pair_lanesv2si */
          break;

        case E_V4SFmode:
          if (pattern537 (x2, E_V2SFmode, E_V4SFmode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V4SFmode, operands[1], operands[2])))
            return 2519; /* load_pair_lanesv2sf */
          break;

        case E_V2SImode:
          if (pattern537 (x2, E_SImode, E_V2SImode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V2SImode, operands[1], operands[2])))
            return 2520; /* load_pair_lanessi */
          break;

        case E_V2SFmode:
          if (pattern537 (x2, E_SFmode, E_V2SFmode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V2SFmode, operands[1], operands[2])))
            return 2521; /* load_pair_lanessf */
          break;

        case E_V2DImode:
          if (pattern537 (x2, E_DImode, E_V2DImode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V2DImode, operands[1], operands[2])))
            return 2522; /* load_pair_lanesdi */
          break;

        case E_V2DFmode:
          if (pattern537 (x2, E_DFmode, E_V2DFmode) == 0
              && 
#line 4234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && aarch64_mergeable_load_pair_p (V2DFmode, operands[1], operands[2])))
            return 2523; /* load_pair_lanesdf */
          break;

        default:
          break;
        }
      break;

    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern538 (x2, E_V8QImode, E_V16QImode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2524; /* store_pair_lanesv8qi */
          break;

        case E_V8HImode:
          if (pattern538 (x2, E_V4HImode, E_V8HImode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2525; /* store_pair_lanesv4hi */
          break;

        case E_V8BFmode:
          if (pattern538 (x2, E_V4BFmode, E_V8BFmode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2526; /* store_pair_lanesv4bf */
          break;

        case E_V8HFmode:
          if (pattern538 (x2, E_V4HFmode, E_V8HFmode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2527; /* store_pair_lanesv4hf */
          break;

        case E_V4SImode:
          if (pattern538 (x2, E_V2SImode, E_V4SImode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2528; /* store_pair_lanesv2si */
          break;

        case E_V4SFmode:
          if (pattern538 (x2, E_V2SFmode, E_V4SFmode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2529; /* store_pair_lanesv2sf */
          break;

        case E_V2SImode:
          if (pattern538 (x2, E_SImode, E_V2SImode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2530; /* store_pair_lanessi */
          break;

        case E_V2SFmode:
          if (pattern538 (x2, E_SFmode, E_V2SFmode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2531; /* store_pair_lanessf */
          break;

        case E_V2DImode:
          if (pattern538 (x2, E_DImode, E_V2DImode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2532; /* store_pair_lanesdi */
          break;

        case E_V2DFmode:
          if (pattern538 (x2, E_DFmode, E_V2DFmode) == 0
              && 
#line 4264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2533; /* store_pair_lanesdf */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  switch (GET_MODE (operands[0]))
    {
    case E_V16QImode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V16QImode)
          || GET_MODE (x2) != E_V16QImode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_V8QImode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_V8QImode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V16QImode)
       || register_operand (operands[2], V8QImode))))
            return 2534; /* *aarch64_combine_internalv8qi */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_V8QImode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_V8QImode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V16QImode)
       || register_operand (operands[2], V8QImode))))
        return -1;
      return 2544; /* *aarch64_combine_internal_bev8qi */

    case E_V8HImode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V8HImode)
          || GET_MODE (x2) != E_V8HImode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_V4HImode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_V4HImode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HImode)
       || register_operand (operands[2], V4HImode))))
            return 2535; /* *aarch64_combine_internalv4hi */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_V4HImode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_V4HImode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HImode)
       || register_operand (operands[2], V4HImode))))
        return -1;
      return 2545; /* *aarch64_combine_internal_bev4hi */

    case E_V8BFmode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V8BFmode)
          || GET_MODE (x2) != E_V8BFmode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_V4BFmode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_V4BFmode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8BFmode)
       || register_operand (operands[2], V4BFmode))))
            return 2536; /* *aarch64_combine_internalv4bf */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_V4BFmode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_V4BFmode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8BFmode)
       || register_operand (operands[2], V4BFmode))))
        return -1;
      return 2546; /* *aarch64_combine_internal_bev4bf */

    case E_V8HFmode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V8HFmode)
          || GET_MODE (x2) != E_V8HFmode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_V4HFmode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_V4HFmode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HFmode)
       || register_operand (operands[2], V4HFmode))))
            return 2537; /* *aarch64_combine_internalv4hf */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_V4HFmode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_V4HFmode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HFmode)
       || register_operand (operands[2], V4HFmode))))
        return -1;
      return 2547; /* *aarch64_combine_internal_bev4hf */

    case E_V4SImode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V4SImode)
          || GET_MODE (x2) != E_V4SImode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_V2SImode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_V2SImode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SImode)
       || register_operand (operands[2], V2SImode))))
            return 2538; /* *aarch64_combine_internalv2si */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_V2SImode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_V2SImode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SImode)
       || register_operand (operands[2], V2SImode))))
        return -1;
      return 2548; /* *aarch64_combine_internal_bev2si */

    case E_V4SFmode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V4SFmode)
          || GET_MODE (x2) != E_V4SFmode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_V2SFmode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_V2SFmode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SFmode)
       || register_operand (operands[2], V2SFmode))))
            return 2539; /* *aarch64_combine_internalv2sf */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_V2SFmode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_V2SFmode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SFmode)
       || register_operand (operands[2], V2SFmode))))
        return -1;
      return 2549; /* *aarch64_combine_internal_bev2sf */

    case E_V2SImode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V2SImode)
          || GET_MODE (x2) != E_V2SImode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_SImode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_SImode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SImode)
       || register_operand (operands[2], SImode))))
            return 2540; /* *aarch64_combine_internalsi */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_SImode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_SImode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SImode)
       || register_operand (operands[2], SImode))))
        return -1;
      return 2550; /* *aarch64_combine_internal_besi */

    case E_V2SFmode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V2SFmode)
          || GET_MODE (x2) != E_V2SFmode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_SFmode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_SFmode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SFmode)
       || register_operand (operands[2], SFmode))))
            return 2541; /* *aarch64_combine_internalsf */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_SFmode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_SFmode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SFmode)
       || register_operand (operands[2], SFmode))))
        return -1;
      return 2551; /* *aarch64_combine_internal_besf */

    case E_V2DImode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V2DImode)
          || GET_MODE (x2) != E_V2DImode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_DImode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_DImode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DImode)
       || register_operand (operands[2], DImode))))
            return 2542; /* *aarch64_combine_internaldi */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_DImode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_DImode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DImode)
       || register_operand (operands[2], DImode))))
        return -1;
      return 2552; /* *aarch64_combine_internal_bedi */

    case E_V2DFmode:
      if (!aarch64_reg_or_mem_pair_operand (operands[0], E_V2DFmode)
          || GET_MODE (x2) != E_V2DFmode)
        return -1;
      operands[1] = x4;
      if (register_operand (operands[1], E_DFmode))
        {
          operands[2] = x3;
          if (aarch64_simd_nonimmediate_operand (operands[2], E_DFmode)
              && 
#line 4283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DFmode)
       || register_operand (operands[2], DFmode))))
            return 2543; /* *aarch64_combine_internaldf */
        }
      operands[2] = x4;
      if (!aarch64_simd_nonimmediate_operand (operands[2], E_DFmode))
        return -1;
      operands[1] = x3;
      if (!register_operand (operands[1], E_DFmode)
          || !
#line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DFmode)
       || register_operand (operands[2], DFmode))))
        return -1;
      return 2553; /* *aarch64_combine_internal_bedf */

    default:
      return -1;
    }
}

static int
recog_406 (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);
  switch (GET_CODE (x3))
    {
    case TRUNCATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern345 (x2))
            {
            case 0:
              if (!
#line 1630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1912; /* aarch64_xtn2v8hi_insn_le */

            case 1:
              if (!
#line 1630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1913; /* aarch64_xtn2v4si_insn_le */

            case 2:
              if (!
#line 1630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1914; /* aarch64_xtn2v2di_insn_le */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern442 (x2))
            {
            case 0:
              if (!
#line 1758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1933; /* *aarch64_rshrnv8hi2_vect_le */

            case 1:
              if (!
#line 1758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1935; /* *aarch64_rshrnv4si2_vect_le */

            case 2:
              if (!
#line 1758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1937; /* *aarch64_rshrnv2di2_vect_le */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern442 (x2))
            {
            case 0:
              if (!
#line 1758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1934; /* *aarch64_shrnv8hi2_vect_le */

            case 1:
              if (!
#line 1758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1936; /* *aarch64_shrnv4si2_vect_le */

            case 2:
              if (!
#line 1758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 1938; /* *aarch64_shrnv2di2_vect_le */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (XVECLEN (x3, 0))
        {
        case 2:
          x6 = XVECEXP (x3, 0, 0);
          operands[2] = x6;
          x7 = XVECEXP (x3, 0, 1);
          operands[3] = x7;
          switch (XINT (x3, 1))
            {
            case 102:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 1939 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1969; /* aarch64_rshrn2v8hi_insn_le */

                case 1:
                  if (!
#line 1939 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1970; /* aarch64_rshrn2v4si_insn_le */

                case 2:
                  if (!
#line 1939 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1971; /* aarch64_rshrn2v2di_insn_le */

                default:
                  return -1;
                }

            case 187:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern640 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2706; /* aarch64_addhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern640 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2710; /* aarch64_addhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern640 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2714; /* aarch64_addhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 188:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern640 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2707; /* aarch64_raddhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern640 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2711; /* aarch64_raddhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern640 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2715; /* aarch64_raddhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 189:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern640 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2708; /* aarch64_subhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern640 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2712; /* aarch64_subhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern640 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2716; /* aarch64_subhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 190:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern640 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2709; /* aarch64_rsubhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern640 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2713; /* aarch64_rsubhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern640 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2717; /* aarch64_rsubhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 207:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3301; /* aarch64_sqshrun2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3307; /* aarch64_sqshrun2_nv4si_insn_le */

                case 2:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3313; /* aarch64_sqshrun2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 208:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3302; /* aarch64_sqrshrun2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3308; /* aarch64_sqrshrun2_nv4si_insn_le */

                case 2:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3314; /* aarch64_sqrshrun2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 209:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3303; /* aarch64_sqshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3309; /* aarch64_sqshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3315; /* aarch64_sqshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 210:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3304; /* aarch64_uqshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3310; /* aarch64_uqshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3316; /* aarch64_uqshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 211:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3305; /* aarch64_sqrshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3311; /* aarch64_sqrshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3317; /* aarch64_sqrshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 212:
              switch (pattern600 (x2))
                {
                case 0:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3306; /* aarch64_uqrshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3312; /* aarch64_uqrshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3318; /* aarch64_uqrshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          x6 = XVECEXP (x3, 0, 0);
          operands[2] = x6;
          switch (XINT (x3, 1))
            {
            case 529:
              if (GET_MODE (x3) != E_V2SFmode
                  || !register_operand (operands[0], E_V4SFmode)
                  || GET_MODE (x2) != E_V4SFmode
                  || !register_operand (operands[1], E_V2SFmode)
                  || !register_operand (operands[2], E_V2DFmode)
                  || !
#line 3239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2326; /* aarch64_float_trunc_rodd_hi_v4sf_le */

            case 197:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern601 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 5146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2860; /* aarch64_sqxtun2v8hi_le */

                case E_V8HImode:
                  if (pattern601 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 5146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2861; /* aarch64_sqxtun2v4si_le */

                case E_V4SImode:
                  if (pattern601 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 5146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2862; /* aarch64_sqxtun2v2di_le */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT_TRUNCATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 0);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SFmode:
          if (pattern344 (x2, E_V2DFmode, E_V2SFmode, E_V4SFmode) != 0
              || !
#line 3284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2330; /* aarch64_float_truncate_hi_v4sf_le */

        case E_V8HFmode:
          if (pattern344 (x2, E_V4SFmode, E_V4HFmode, E_V8HFmode) != 0
              || !
#line 3284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2331; /* aarch64_float_truncate_hi_v8hf_le */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      return recog_405 (x1, insn, pnum_clobbers);

    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
      operands[2] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern496 (x2, E_V8QImode, E_V16QImode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2554; /* *aarch64_combinezv8qi */

        case E_V8HImode:
          if (pattern496 (x2, E_V4HImode, E_V8HImode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2555; /* *aarch64_combinezv4hi */

        case E_V8BFmode:
          if (pattern496 (x2, E_V4BFmode, E_V8BFmode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2556; /* *aarch64_combinezv4bf */

        case E_V8HFmode:
          if (pattern496 (x2, E_V4HFmode, E_V8HFmode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2557; /* *aarch64_combinezv4hf */

        case E_V4SImode:
          if (pattern496 (x2, E_V2SImode, E_V4SImode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2558; /* *aarch64_combinezv2si */

        case E_V4SFmode:
          if (pattern496 (x2, E_V2SFmode, E_V4SFmode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2559; /* *aarch64_combinezv2sf */

        case E_V2SImode:
          if (pattern496 (x2, E_SImode, E_V2SImode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2560; /* *aarch64_combinezsi */

        case E_V2SFmode:
          if (pattern496 (x2, E_SFmode, E_V2SFmode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2561; /* *aarch64_combinezsf */

        case E_V2DImode:
          if (pattern496 (x2, E_DImode, E_V2DImode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2562; /* *aarch64_combinezdi */

        case E_V2DFmode:
          if (pattern496 (x2, E_DFmode, E_V2DFmode) != 0
              || !
#line 4322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2563; /* *aarch64_combinezdf */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (pattern345 (x2))
        {
        case 0:
          if (!
#line 5052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2839; /* aarch64_sqxtn2v8hi_le */

        case 1:
          if (!
#line 5052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2841; /* aarch64_sqxtn2v4si_le */

        case 2:
          if (!
#line 5052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2843; /* aarch64_sqxtn2v2di_le */

        default:
          return -1;
        }

    case US_TRUNCATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (pattern345 (x2))
        {
        case 0:
          if (!
#line 5052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2840; /* aarch64_uqxtn2v8hi_le */

        case 1:
          if (!
#line 5052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2842; /* aarch64_uqxtn2v4si_le */

        case 2:
          if (!
#line 5052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2844; /* aarch64_uqxtn2v2di_le */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_407 (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);
  switch (GET_CODE (x3))
    {
    case TRUNCATE:
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[1] = x4;
          x5 = XEXP (x2, 0);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_V16QImode:
              if (pattern262 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                  || !
#line 1599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 1909; /* aarch64_xtnv8hi_insn_be */

            case E_V8HImode:
              if (pattern262 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                  || !
#line 1599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 1910; /* aarch64_xtnv4si_insn_be */

            case E_V4SImode:
              if (pattern262 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                  || !
#line 1599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 1911; /* aarch64_xtnv2di_insn_be */

            default:
              return -1;
            }

        case LSHIFTRT:
          x5 = XEXP (x2, 0);
          operands[3] = x5;
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          x7 = XEXP (x4, 1);
          operands[2] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_V16QImode:
              if (pattern597 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                  || !aarch64_simd_shift_imm_vec_qi (operands[2], E_V8HImode)
                  || !
#line 1736 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 1924; /* aarch64_shrnv8hi_insn_be */

            case E_V8HImode:
              if (pattern597 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                  || !aarch64_simd_shift_imm_vec_hi (operands[2], E_V4SImode)
                  || !
#line 1736 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 1925; /* aarch64_shrnv4si_insn_be */

            case E_V4SImode:
              if (pattern597 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                  || !aarch64_simd_shift_imm_vec_si (operands[2], E_V2DImode)
                  || !
#line 1736 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 1926; /* aarch64_shrnv2di_insn_be */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      switch (XVECLEN (x3, 0))
        {
        case 2:
          x5 = XEXP (x2, 0);
          operands[3] = x5;
          x8 = XVECEXP (x3, 0, 0);
          operands[1] = x8;
          x9 = XVECEXP (x3, 0, 1);
          operands[2] = x9;
          switch (XINT (x3, 1))
            {
            case 102:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 1847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1960; /* aarch64_rshrnv8hi_insn_be */

                case 1:
                  if (!
#line 1847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1961; /* aarch64_rshrnv4si_insn_be */

                case 2:
                  if (!
#line 1847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1962; /* aarch64_rshrnv2di_insn_be */

                default:
                  return -1;
                }

            case 187:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern639 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2694; /* aarch64_addhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern639 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2698; /* aarch64_addhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern639 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2702; /* aarch64_addhnv2di_insn_be */

                default:
                  return -1;
                }

            case 188:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern639 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2695; /* aarch64_raddhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern639 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2699; /* aarch64_raddhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern639 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2703; /* aarch64_raddhnv2di_insn_be */

                default:
                  return -1;
                }

            case 189:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern639 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2696; /* aarch64_subhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern639 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2700; /* aarch64_subhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern639 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2704; /* aarch64_subhnv2di_insn_be */

                default:
                  return -1;
                }

            case 190:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern639 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2697; /* aarch64_rsubhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern639 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2701; /* aarch64_rsubhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern639 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2705; /* aarch64_rsubhnv2di_insn_be */

                default:
                  return -1;
                }

            case 207:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3283; /* aarch64_sqshrun_nv8hi_insn_be */

                case 1:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3289; /* aarch64_sqshrun_nv4si_insn_be */

                case 2:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3295; /* aarch64_sqshrun_nv2di_insn_be */

                default:
                  return -1;
                }

            case 208:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3284; /* aarch64_sqrshrun_nv8hi_insn_be */

                case 1:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3290; /* aarch64_sqrshrun_nv4si_insn_be */

                case 2:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3296; /* aarch64_sqrshrun_nv2di_insn_be */

                default:
                  return -1;
                }

            case 209:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3285; /* aarch64_sqshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3291; /* aarch64_sqshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3297; /* aarch64_sqshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            case 210:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3286; /* aarch64_uqshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3292; /* aarch64_uqshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3298; /* aarch64_uqshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            case 211:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3287; /* aarch64_sqrshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3293; /* aarch64_sqrshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3299; /* aarch64_sqrshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            case 212:
              switch (pattern598 (x2))
                {
                case 0:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3288; /* aarch64_uqrshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3294; /* aarch64_uqrshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6359 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3300; /* aarch64_uqrshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          if (XINT (x3, 1) != 197)
            return -1;
          x5 = XEXP (x2, 0);
          operands[2] = x5;
          x8 = XVECEXP (x3, 0, 0);
          operands[1] = x8;
          switch (GET_MODE (operands[0]))
            {
            case E_V16QImode:
              if (pattern599 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                  || !
#line 5113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2857; /* aarch64_sqmovunv8hi_insn_be */

            case E_V8HImode:
              if (pattern599 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                  || !
#line 5113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2858; /* aarch64_sqmovunv4si_insn_be */

            case E_V4SImode:
              if (pattern599 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                  || !
#line 5113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2859; /* aarch64_sqmovunv2di_insn_be */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x3;
      x5 = XEXP (x2, 0);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern495 (x2, E_V8QImode, E_V16QImode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2564; /* *aarch64_combinez_bev8qi */

        case E_V8HImode:
          if (pattern495 (x2, E_V4HImode, E_V8HImode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2565; /* *aarch64_combinez_bev4hi */

        case E_V8BFmode:
          if (pattern495 (x2, E_V4BFmode, E_V8BFmode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2566; /* *aarch64_combinez_bev4bf */

        case E_V8HFmode:
          if (pattern495 (x2, E_V4HFmode, E_V8HFmode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2567; /* *aarch64_combinez_bev4hf */

        case E_V4SImode:
          if (pattern495 (x2, E_V2SImode, E_V4SImode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2568; /* *aarch64_combinez_bev2si */

        case E_V4SFmode:
          if (pattern495 (x2, E_V2SFmode, E_V4SFmode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2569; /* *aarch64_combinez_bev2sf */

        case E_V2SImode:
          if (pattern495 (x2, E_SImode, E_V2SImode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2570; /* *aarch64_combinez_besi */

        case E_V2SFmode:
          if (pattern495 (x2, E_SFmode, E_V2SFmode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2571; /* *aarch64_combinez_besf */

        case E_V2DImode:
          if (pattern495 (x2, E_DImode, E_V2DImode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2572; /* *aarch64_combinez_bedi */

        case E_V2DFmode:
          if (pattern495 (x2, E_DFmode, E_V2DFmode) != 0
              || !
#line 4336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2573; /* *aarch64_combinez_bedf */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      switch (pattern263 (x2))
        {
        case 0:
          if (!
#line 5019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2833; /* aarch64_sqmovnv8hi_insn_be */

        case 1:
          if (!
#line 5019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2835; /* aarch64_sqmovnv4si_insn_be */

        case 2:
          if (!
#line 5019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2837; /* aarch64_sqmovnv2di_insn_be */

        default:
          return -1;
        }

    case US_TRUNCATE:
      switch (pattern263 (x2))
        {
        case 0:
          if (!
#line 5019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2834; /* aarch64_uqmovnv8hi_insn_be */

        case 1:
          if (!
#line 5019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2836; /* aarch64_uqmovnv4si_insn_be */

        case 2:
          if (!
#line 5019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2838; /* aarch64_uqmovnv2di_insn_be */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_408 (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 TRUNCATE:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
            case CONST:
              switch (pattern265 (x3))
                {
                case 0:
                  if (!
#line 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1906; /* aarch64_xtnv8hi_insn_le */

                case 1:
                  if (!
#line 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1907; /* aarch64_xtnv4si_insn_le */

                case 2:
                  if (!
#line 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1908; /* aarch64_xtnv2di_insn_le */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              switch (pattern267 (x3))
                {
                case 0:
                  if (!
#line 1640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1915; /* aarch64_xtn2v8hi_insn_be */

                case 1:
                  if (!
#line 1640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1916; /* aarch64_xtn2v4si_insn_be */

                case 2:
                  if (!
#line 1640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1917; /* aarch64_xtn2v2di_insn_be */

                default:
                  return -1;
                }

            case TRUNCATE:
              operands[1] = x5;
              x7 = XEXP (x6, 0);
              operands[2] = x7;
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern536 (x3, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 1668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1918; /* *aarch64_narrow_truncv8hi */

                case E_V8HImode:
                  if (pattern536 (x3, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 1668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1919; /* *aarch64_narrow_truncv4si */

                case E_V4SImode:
                  if (pattern536 (x3, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 1668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1920; /* *aarch64_narrow_truncv2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case LSHIFTRT:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
            case CONST:
              operands[3] = x6;
              x8 = XEXP (x5, 0);
              operands[1] = x8;
              x9 = XEXP (x5, 1);
              operands[2] = x9;
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern596 (x3, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !aarch64_simd_shift_imm_vec_qi (operands[2], E_V8HImode)
                      || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V8QImode)
                      || !
#line 1724 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1921; /* aarch64_shrnv8hi_insn_le */

                case E_V8HImode:
                  if (pattern596 (x3, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !aarch64_simd_shift_imm_vec_hi (operands[2], E_V4SImode)
                      || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V4HImode)
                      || !
#line 1724 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1922; /* aarch64_shrnv4si_insn_le */

                case E_V4SImode:
                  if (pattern596 (x3, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !aarch64_simd_shift_imm_vec_si (operands[2], E_V2DImode)
                      || !aarch64_simd_or_scalar_imm_zero (operands[3], E_V2SImode)
                      || !
#line 1724 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1923; /* aarch64_shrnv2di_insn_le */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              switch (pattern341 (x3))
                {
                case 0:
                  if (!
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1940; /* *aarch64_shrnv8hi2_vect_be */

                case 1:
                  if (!
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1942; /* *aarch64_shrnv4si2_vect_be */

                case 2:
                  if (!
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1944; /* *aarch64_shrnv2di2_vect_be */

                default:
                  return -1;
                }

            case TRUNCATE:
              switch (pattern343 (x3, LSHIFTRT))
                {
                case 0:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 1946; /* *aarch64_topbits_shufflev8hi_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1952; /* *aarch64_topbits_shufflev8hi_be */

                case 1:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 1948; /* *aarch64_topbits_shufflev4si_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1954; /* *aarch64_topbits_shufflev4si_be */

                case 2:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 1950; /* *aarch64_topbits_shufflev2di_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1956; /* *aarch64_topbits_shufflev2di_be */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case ASHIFTRT:
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case REG:
            case SUBREG:
              switch (pattern341 (x3))
                {
                case 0:
                  if (!
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1939; /* *aarch64_rshrnv8hi2_vect_be */

                case 1:
                  if (!
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1941; /* *aarch64_rshrnv4si2_vect_be */

                case 2:
                  if (!
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1943; /* *aarch64_rshrnv2di2_vect_be */

                default:
                  return -1;
                }

            case TRUNCATE:
              switch (pattern343 (x3, ASHIFTRT))
                {
                case 0:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 1945; /* *aarch64_rtopbits_shufflev8hi_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1951; /* *aarch64_rtopbits_shufflev8hi_be */

                case 1:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 1947; /* *aarch64_rtopbits_shufflev4si_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1953; /* *aarch64_rtopbits_shufflev4si_be */

                case 2:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1784 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 1949; /* *aarch64_rtopbits_shufflev2di_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1955; /* *aarch64_rtopbits_shufflev2di_be */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
      return recog_407 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
    case MEM:
      return recog_406 (x1, insn, pnum_clobbers);

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 2:
          switch (XINT (x4, 1))
            {
            case 102:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 1835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1957; /* aarch64_rshrnv8hi_insn_le */

                case 1:
                  if (!
#line 1835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1958; /* aarch64_rshrnv4si_insn_le */

                case 2:
                  if (!
#line 1835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1959; /* aarch64_rshrnv2di_insn_le */

                case 3:
                  if (!
#line 1951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1972; /* aarch64_rshrn2v8hi_insn_be */

                case 4:
                  if (!
#line 1951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1973; /* aarch64_rshrn2v4si_insn_be */

                case 5:
                  if (!
#line 1951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 1974; /* aarch64_rshrn2v2di_insn_be */

                default:
                  return -1;
                }

            case 187:
              switch (pattern349 (x3))
                {
                case 0:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2682; /* aarch64_addhnv8hi_insn_le */

                case 1:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2686; /* aarch64_addhnv4si_insn_le */

                case 2:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2690; /* aarch64_addhnv2di_insn_le */

                case 3:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2718; /* aarch64_addhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2722; /* aarch64_addhn2v4si_insn_be */

                case 5:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2726; /* aarch64_addhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 188:
              switch (pattern349 (x3))
                {
                case 0:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2683; /* aarch64_raddhnv8hi_insn_le */

                case 1:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2687; /* aarch64_raddhnv4si_insn_le */

                case 2:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2691; /* aarch64_raddhnv2di_insn_le */

                case 3:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2719; /* aarch64_raddhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2723; /* aarch64_raddhn2v4si_insn_be */

                case 5:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2727; /* aarch64_raddhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 189:
              switch (pattern349 (x3))
                {
                case 0:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2684; /* aarch64_subhnv8hi_insn_le */

                case 1:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2688; /* aarch64_subhnv4si_insn_le */

                case 2:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2692; /* aarch64_subhnv2di_insn_le */

                case 3:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2720; /* aarch64_subhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2724; /* aarch64_subhn2v4si_insn_be */

                case 5:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2728; /* aarch64_subhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 190:
              switch (pattern349 (x3))
                {
                case 0:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2685; /* aarch64_rsubhnv8hi_insn_le */

                case 1:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2689; /* aarch64_rsubhnv4si_insn_le */

                case 2:
                  if (!
#line 4752 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2693; /* aarch64_rsubhnv2di_insn_le */

                case 3:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2721; /* aarch64_rsubhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2725; /* aarch64_rsubhn2v4si_insn_be */

                case 5:
                  if (!
#line 4811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2729; /* aarch64_rsubhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 207:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3265; /* aarch64_sqshrun_nv8hi_insn_le */

                case 1:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3271; /* aarch64_sqshrun_nv4si_insn_le */

                case 2:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3277; /* aarch64_sqshrun_nv2di_insn_le */

                case 3:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3319; /* aarch64_sqshrun2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3325; /* aarch64_sqshrun2_nv4si_insn_be */

                case 5:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3331; /* aarch64_sqshrun2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 208:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3266; /* aarch64_sqrshrun_nv8hi_insn_le */

                case 1:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3272; /* aarch64_sqrshrun_nv4si_insn_le */

                case 2:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3278; /* aarch64_sqrshrun_nv2di_insn_le */

                case 3:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3320; /* aarch64_sqrshrun2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3326; /* aarch64_sqrshrun2_nv4si_insn_be */

                case 5:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3332; /* aarch64_sqrshrun2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 209:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3267; /* aarch64_sqshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3273; /* aarch64_sqshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3279; /* aarch64_sqshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3321; /* aarch64_sqshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3327; /* aarch64_sqshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3333; /* aarch64_sqshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 210:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3268; /* aarch64_uqshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3274; /* aarch64_uqshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3280; /* aarch64_uqshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3322; /* aarch64_uqshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3328; /* aarch64_uqshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3334; /* aarch64_uqshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 211:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3269; /* aarch64_sqrshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3275; /* aarch64_sqrshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3281; /* aarch64_sqrshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3323; /* aarch64_sqrshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3329; /* aarch64_sqrshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3335; /* aarch64_sqrshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 212:
              switch (pattern346 (x3))
                {
                case 0:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3270; /* aarch64_uqrshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3276; /* aarch64_uqrshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3282; /* aarch64_uqrshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3324; /* aarch64_uqrshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3330; /* aarch64_uqrshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3336; /* aarch64_uqrshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          switch (XINT (x4, 1))
            {
            case 529:
              if (GET_MODE (x4) != E_V2SFmode
                  || !register_operand (operands[0], E_V4SFmode)
                  || GET_MODE (x3) != E_V4SFmode)
                return -1;
              x11 = XVECEXP (x4, 0, 0);
              operands[2] = x11;
              if (!register_operand (operands[2], E_V2DFmode))
                return -1;
              x6 = XEXP (x3, 1);
              operands[1] = x6;
              if (!register_operand (operands[1], E_V2SFmode)
                  || !
#line 3250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2327; /* aarch64_float_trunc_rodd_hi_v4sf_be */

            case 197:
              x6 = XEXP (x3, 1);
              switch (GET_CODE (x6))
                {
                case CONST_INT:
                case CONST_DOUBLE:
                case CONST_VECTOR:
                case CONST:
                  operands[2] = x6;
                  x11 = XVECEXP (x4, 0, 0);
                  operands[1] = x11;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V16QImode:
                      if (pattern602 (x3, E_V8QImode, E_V8HImode, E_V16QImode) != 0
                          || !
#line 5102 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                        return -1;
                      return 2854; /* aarch64_sqmovunv8hi_insn_le */

                    case E_V8HImode:
                      if (pattern602 (x3, E_V4HImode, E_V4SImode, E_V8HImode) != 0
                          || !
#line 5102 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                        return -1;
                      return 2855; /* aarch64_sqmovunv4si_insn_le */

                    case E_V4SImode:
                      if (pattern602 (x3, E_V2SImode, E_V2DImode, E_V4SImode) != 0
                          || !
#line 5102 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                        return -1;
                      return 2856; /* aarch64_sqmovunv2di_insn_le */

                    default:
                      return -1;
                    }

                case REG:
                case SUBREG:
                  operands[1] = x6;
                  x11 = XVECEXP (x4, 0, 0);
                  operands[2] = x11;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V16QImode:
                      if (pattern603 (x3, E_V8QImode, E_V8HImode, E_V16QImode) != 0
                          || !
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                        return -1;
                      return 2863; /* aarch64_sqxtun2v8hi_be */

                    case E_V8HImode:
                      if (pattern603 (x3, E_V4HImode, E_V4SImode, E_V8HImode) != 0
                          || !
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                        return -1;
                      return 2864; /* aarch64_sqxtun2v4si_be */

                    case E_V4SImode:
                      if (pattern603 (x3, E_V2SImode, E_V2DImode, E_V4SImode) != 0
                          || !
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                        return -1;
                      return 2865; /* aarch64_sqxtun2v2di_be */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT_TRUNCATE:
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      x6 = XEXP (x3, 1);
      operands[1] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SFmode:
          if (pattern266 (x3, E_V2SFmode, E_V2DFmode, E_V4SFmode) != 0
              || !
#line 3295 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2332; /* aarch64_float_truncate_hi_v4sf_be */

        case E_V8HFmode:
          if (pattern266 (x3, E_V4HFmode, E_V4SFmode, E_V8HFmode) != 0
              || !
#line 3295 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2333; /* aarch64_float_truncate_hi_v8hf_be */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
          switch (pattern265 (x3))
            {
            case 0:
              if (!
#line 5008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2827; /* aarch64_sqmovnv8hi_insn_le */

            case 1:
              if (!
#line 5008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2829; /* aarch64_sqmovnv4si_insn_le */

            case 2:
              if (!
#line 5008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2831; /* aarch64_sqmovnv2di_insn_le */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern267 (x3))
            {
            case 0:
              if (!
#line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2845; /* aarch64_sqxtn2v8hi_be */

            case 1:
              if (!
#line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2847; /* aarch64_sqxtn2v4si_be */

            case 2:
              if (!
#line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2849; /* aarch64_sqxtn2v2di_be */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case US_TRUNCATE:
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
          switch (pattern265 (x3))
            {
            case 0:
              if (!
#line 5008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2828; /* aarch64_uqmovnv8hi_insn_le */

            case 1:
              if (!
#line 5008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2830; /* aarch64_uqmovnv4si_insn_le */

            case 2:
              if (!
#line 5008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2832; /* aarch64_uqmovnv2di_insn_le */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern267 (x3))
            {
            case 0:
              if (!
#line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2846; /* aarch64_uqxtn2v8hi_be */

            case 1:
              if (!
#line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2848; /* aarch64_uqxtn2v4si_be */

            case 2:
              if (!
#line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2850; /* aarch64_uqxtn2v2di_be */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_409 (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 REG:
    case SUBREG:
    case MEM:
      return recog_47 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_48 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_45 (x1, insn, pnum_clobbers);

    case NEG:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 355; /* *negsi2_uxtw */

        case ASHIFT:
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x7 = XEXP (x5, 1);
          operands[2] = x7;
          if (!aarch64_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 374; /* *neg_lsl_si2_uxtw */

        case ASHIFTRT:
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x7 = XEXP (x5, 1);
          operands[2] = x7;
          if (!aarch64_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 375; /* *neg_asr_si2_uxtw */

        case LSHIFTRT:
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x7 = XEXP (x5, 1);
          operands[2] = x7;
          if (!aarch64_shift_imm_si (operands[2], E_QImode))
            return -1;
          return 376; /* *neg_lsr_si2_uxtw */

        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 UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
          operands[1] = x5;
          if (!aarch64_comparison_operator_mode (operands[1], E_SImode))
            return -1;
          x7 = XEXP (x5, 1);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x6 = XEXP (x5, 0);
          operands[2] = x6;
          if (!cc_register (operands[2], E_VOIDmode))
            return -1;
          return 455; /* *cstoresi_neg_uxtw */

        default:
          return -1;
        }

    case MULT:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x8 = XEXP (x3, 1);
      operands[2] = x8;
      if (!register_operand (operands[2], E_SImode))
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 380; /* *mulsi3_uxtw */

        case NEG:
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 389; /* *mulsi_neg_uxtw */

        default:
          return -1;
        }

    case DIV:
      if (pattern33 (x1) != 0)
        return -1;
      return 404; /* *divsi3_uxtw */

    case UDIV:
      if (pattern33 (x1) != 0)
        return -1;
      return 405; /* *udivsi3_uxtw */

    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 UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
      operands[1] = x3;
      if (!aarch64_comparison_operator_mode (operands[1], E_SImode))
        return -1;
      x8 = XEXP (x3, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[2] = x5;
      if (!cc_register (operands[2], E_VOIDmode))
        return -1;
      return 450; /* *cstoresi_insn_uxtw */

    case IF_THEN_ELSE:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        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 UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
          operands[1] = x5;
          if (aarch64_comparison_operator (operands[1], E_VOIDmode))
            {
              res = recog_43 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
            }
          if (!aarch64_comparison_operation (operands[1], E_VOIDmode))
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x2) != E_DImode)
            return -1;
          x8 = XEXP (x3, 1);
          if (GET_MODE (x8) != E_SImode)
            return -1;
          x9 = XEXP (x3, 2);
          operands[3] = x9;
          if (!aarch64_reg_or_zero (operands[3], E_SImode))
            return -1;
          switch (GET_CODE (x8))
            {
            case NEG:
              x10 = XEXP (x8, 0);
              operands[2] = x10;
              if (!register_operand (operands[2], E_SImode))
                return -1;
              return 478; /* *csneg3_uxtw_insn4 */

            case NOT:
              x10 = XEXP (x8, 0);
              operands[2] = x10;
              if (!register_operand (operands[2], E_SImode))
                return -1;
              return 479; /* *csinv3_uxtw_insn4 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x8 = XEXP (x3, 1);
          operands[2] = x8;
          if (!aarch64_logical_operand (operands[2], E_SImode))
            return -1;
          return 506; /* *andsi3_uxtw */

        case ASHIFT:
          if (pattern465 (x3) != 0)
            return -1;
          return 554; /* *and_ashlsi3_uxtw */

        case ASHIFTRT:
          if (pattern465 (x3) != 0)
            return -1;
          return 557; /* *and_ashrsi3_uxtw */

        case LSHIFTRT:
          if (pattern465 (x3) != 0)
            return -1;
          return 560; /* *and_lshrsi3_uxtw */

        case ROTATERT:
          if (pattern465 (x3) != 0)
            return -1;
          return 563; /* *and_rotrsi3_uxtw */

        case ROTATE:
          if (pattern465 (x3) != 0)
            return -1;
          return 566; /* *and_rolsi3_uxtw */

        case NOT:
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x8 = XEXP (x3, 1);
          operands[2] = x8;
          if (!register_operand (operands[2], E_SImode))
            return -1;
          return 584; /* *and_one_cmplsidi3_ze */

        default:
          return -1;
        }

    case IOR:
      return recog_46 (x1, insn, pnum_clobbers);

    case XOR:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          x8 = XEXP (x3, 1);
          operands[2] = x8;
          if (!aarch64_logical_operand (operands[2], E_SImode))
            return -1;
          return 508; /* *xorsi3_uxtw */

        case ASHIFT:
          if (pattern465 (x3) != 0)
            return -1;
          return 556; /* *xor_ashlsi3_uxtw */

        case ASHIFTRT:
          if (pattern465 (x3) != 0)
            return -1;
          return 559; /* *xor_ashrsi3_uxtw */

        case LSHIFTRT:
          if (pattern465 (x3) != 0)
            return -1;
          return 562; /* *xor_lshrsi3_uxtw */

        case ROTATERT:
          if (pattern465 (x3) != 0)
            return -1;
          return 565; /* *xor_rotrsi3_uxtw */

        case ROTATE:
          if (pattern465 (x3) != 0)
            return -1;
          return 568; /* *xor_rolsi3_uxtw */

        default:
          return -1;
        }

    case NOT:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], E_SImode))
            return -1;
          return 571; /* *one_cmpl_zero_extend */

        case XOR:
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x7 = XEXP (x5, 1);
          if (!register_operand (x7, E_SImode))
            return -1;
          x6 = XEXP (x5, 0);
          switch (GET_CODE (x6))
            {
            case REG:
            case SUBREG:
              operands[1] = x6;
              if (!register_operand (operands[1], E_SImode))
                return -1;
              operands[2] = x7;
              return 586; /* *xor_one_cmplsidi3_ze */

            case ASHIFT:
              if (GET_MODE (x6) != E_SImode)
                return -1;
              x11 = XEXP (x6, 0);
              operands[1] = x11;
              if (!register_operand (operands[1], E_SImode))
                return -1;
              x12 = XEXP (x6, 1);
              operands[2] = x12;
              if (!aarch64_shift_imm_si (operands[2], E_QImode))
                return -1;
              operands[3] = x7;
              return 626; /* *eor_one_cmpl_ashlsidi3_alt_ze */

            case ASHIFTRT:
              if (GET_MODE (x6) != E_SImode)
                return -1;
              x11 = XEXP (x6, 0);
              operands[1] = x11;
              if (!register_operand (operands[1], E_SImode))
                return -1;
              x12 = XEXP (x6, 1);
              operands[2] = x12;
              if (!aarch64_shift_imm_si (operands[2], E_QImode))
                return -1;
              operands[3] = x7;
              return 627; /* *eor_one_cmpl_ashrsidi3_alt_ze */

            case LSHIFTRT:
              if (GET_MODE (x6) != E_SImode)
                return -1;
              x11 = XEXP (x6, 0);
              operands[1] = x11;
              if (!register_operand (operands[1], E_SImode))
                return -1;
              x12 = XEXP (x6, 1);
              operands[2] = x12;
              if (!aarch64_shift_imm_si (operands[2], E_QImode))
                return -1;
              operands[3] = x7;
              return 628; /* *eor_one_cmpl_lshrsidi3_alt_ze */

            case ROTATERT:
              if (GET_MODE (x6) != E_SImode)
                return -1;
              x11 = XEXP (x6, 0);
              operands[1] = x11;
              if (!register_operand (operands[1], E_SImode))
                return -1;
              x12 = XEXP (x6, 1);
              operands[2] = x12;
              if (!aarch64_shift_imm_si (operands[2], E_QImode))
                return -1;
              operands[3] = x7;
              return 629; /* *eor_one_cmpl_rotrsidi3_alt_ze */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern34 (x1))
        {
        case 0:
          return 717; /* *ashlsi3_insn_uxtw */

        case 1:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 742; /* *zero_extenddi_ashlqi */

        case 2:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 744; /* *zero_extenddi_ashlhi */

        case 3:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 738; /* *zero_extendsi_ashlqi */

        case 4:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 740; /* *zero_extendsi_ashlhi */

        default:
          return -1;
        }

    case ASHIFTRT:
      if (pattern35 (x1) != 0)
        return -1;
      return 718; /* *ashrsi3_insn_uxtw */

    case LSHIFTRT:
      switch (pattern34 (x1))
        {
        case 0:
          return 719; /* *lshrsi3_insn_uxtw */

        case 1:
          if (!
#line 5609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 747; /* *zero_extenddi_lshrqi */

        case 2:
          if (!
#line 5609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 748; /* *zero_extenddi_lshrhi */

        case 3:
          if (!
#line 5609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 745; /* *zero_extendsi_lshrqi */

        case 4:
          if (!
#line 5609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 746; /* *zero_extendsi_lshrhi */

        default:
          return -1;
        }

    case ROTATERT:
      if (pattern35 (x1) != 0)
        return -1;
      return 720; /* *rotrsi3_insn_uxtw */

    case ROTATE:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x8 = XEXP (x3, 1);
      operands[2] = x8;
      if (!const_int_operand (operands[2], E_VOIDmode)
          || !
#line 5583 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
        return -1;
      return 736; /* *rorsi3_insn_uxtw */

    case BSWAP:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      return 811; /* *bswapsi2_uxtw */

    case UNSIGNED_FIX:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[1]))
        {
        case E_SFmode:
          if (!register_operand (operands[1], E_SFmode)
              || !
#line 6302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 931; /* *fix_to_zero_extendsfdi2 */

        case E_DFmode:
          if (!register_operand (operands[1], E_DFmode)
              || !
#line 6302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 932; /* *fix_to_zero_extenddfdi2 */

        default:
          return -1;
        }

    case TRUNCATE:
      if (GET_MODE (x3) != E_DImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_TImode)
          || GET_MODE (x2) != E_TImode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_TImode)
          || !
#line 6828 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
        return -1;
      return 1024; /* aarch64_movtilow_tilow */

    case UNSPEC:
      return recog_44 (x1, insn, pnum_clobbers);

    case VEC_SELECT:
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) != PARALLEL)
        return -1;
      operands[2] = x8;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern287 (x2))
        {
        case 0:
          if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
              && 
#line 1996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1976; /* aarch64_simd_vec_unpacku_lo_v16qi */
          if (vect_par_cnst_hi_half (operands[2], E_V16QImode)
              && 
#line 2007 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1982; /* aarch64_simd_vec_unpacku_hi_v16qi */
          break;

        case 1:
          if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
              && 
#line 1996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1978; /* aarch64_simd_vec_unpacku_lo_v8hi */
          if (vect_par_cnst_hi_half (operands[2], E_V8HImode)
              && 
#line 2007 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1984; /* aarch64_simd_vec_unpacku_hi_v8hi */
          break;

        case 2:
          if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
              && 
#line 1996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1980; /* aarch64_simd_vec_unpacku_lo_v4si */
          if (vect_par_cnst_hi_half (operands[2], E_V4SImode)
              && 
#line 2007 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1986; /* aarch64_simd_vec_unpacku_hi_v4si */
          break;

        default:
          break;
        }
      if (XVECLEN (x8, 0) != 1)
        return -1;
      operands[0] = x4;
      switch (pattern289 (x2))
        {
        case 0:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2492; /* *aarch64_get_lane_zero_extendsiv8qi */

        case 1:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2494; /* *aarch64_get_lane_zero_extendsiv16qi */

        case 2:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2496; /* *aarch64_get_lane_zero_extendsiv4hi */

        case 3:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2498; /* *aarch64_get_lane_zero_extendsiv8hi */

        case 4:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2493; /* *aarch64_get_lane_zero_extenddiv8qi */

        case 5:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2495; /* *aarch64_get_lane_zero_extenddiv16qi */

        case 6:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2497; /* *aarch64_get_lane_zero_extenddiv4hi */

        case 7:
          if (!
#line 4186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2499; /* *aarch64_get_lane_zero_extenddiv8hi */

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      if (XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != 17)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x2) != E_SImode)
        return -1;
      x13 = XVECEXP (x3, 0, 0);
      operands[1] = x13;
      x14 = XVECEXP (x3, 0, 1);
      operands[2] = x14;
      if (!const_int_operand (operands[2], E_SImode))
        return -1;
      switch (GET_MODE (x3))
        {
        case E_QImode:
          if (!aarch64_sync_memory_operand (operands[1], E_QImode))
            return -1;
          return 4458; /* aarch64_load_exclusiveqi */

        case E_HImode:
          if (!aarch64_sync_memory_operand (operands[1], E_HImode))
            return -1;
          return 4459; /* aarch64_load_exclusivehi */

        default:
          return -1;
        }

    case US_PLUS:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x5 = XEXP (x3, 0);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 3)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern373 (x2))
        {
        case 0:
          if (!
#line 9883 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8981; /* aarch64_sve_uqincsi_pat */

        case 1:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9027; /* *aarch64_sve_uqincsivnx16bi_cntp */

        case 2:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9029; /* *aarch64_sve_uqincsivnx8bi_cntp */

        case 3:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9031; /* *aarch64_sve_uqincsivnx4bi_cntp */

        case 4:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9033; /* *aarch64_sve_uqincsivnx2bi_cntp */

        default:
          return -1;
        }

    case US_MINUS:
      if (GET_MODE (x3) != E_SImode)
        return -1;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) != UNSPEC
          || XVECLEN (x8, 0) != 3)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern375 (x2))
        {
        case 0:
          if (!
#line 10033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8996; /* aarch64_sve_uqdecsi_pat */

        case 1:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9060; /* *aarch64_sve_uqdecsivnx16bi_cntp */

        case 2:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9062; /* *aarch64_sve_uqdecsivnx8bi_cntp */

        case 3:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9064; /* *aarch64_sve_uqdecsivnx4bi_cntp */

        case 4:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9066; /* *aarch64_sve_uqdecsivnx2bi_cntp */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_410 (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 REG:
    case SUBREG:
      return recog_57 (x1, insn, pnum_clobbers);

    case NEG:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern464 (x3, E_SImode) != 0)
                return -1;
              return 387; /* *mulsi_neg */

            case E_DImode:
              if (pattern464 (x3, E_DImode) != 0)
                return -1;
              return 388; /* *muldi_neg */

            case E_SFmode:
              if (pattern464 (x3, E_SFmode) != 0
                  || !
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && !flag_rounding_math))
                return -1;
              return 982; /* *fnmulsf3 */

            case E_DFmode:
              if (pattern464 (x3, E_DFmode) != 0
                  || !
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && !flag_rounding_math))
                return -1;
              return 983; /* *fnmuldf3 */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern198 (x3, SIGN_EXTEND) != 0)
            return -1;
          return 396; /* *mulsidi_neg */

        case ZERO_EXTEND:
          if (pattern198 (x3, ZERO_EXTEND) != 0)
            return -1;
          return 397; /* *umulsidi_neg */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              switch (pattern408 (x3))
                {
                case 0:
                  return 390; /* mulsidi3 */

                case 1:
                  if (!
#line 2269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2045; /* aarch64_intrinsic_vec_smult_lo_v8qi */

                case 2:
                  if (!
#line 2269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2047; /* aarch64_intrinsic_vec_smult_lo_v4hi */

                case 3:
                  if (!
#line 2269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2049; /* aarch64_intrinsic_vec_smult_lo_v2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern410 (x3, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2057; /* aarch64_vec_smult_lane_v4hi */

                case 1:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2059; /* aarch64_vec_smult_laneq_v4hi */

                case 2:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2061; /* aarch64_vec_smult_lane_v2si */

                case 3:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2063; /* aarch64_vec_smult_laneq_v2si */

                case 4:
                  if (!
#line 2411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2073; /* aarch64_smull_nv4hi */

                case 5:
                  if (!
#line 2411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2075; /* aarch64_smull_nv2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              x8 = XEXP (x6, 0);
              if (GET_CODE (x8) != VEC_SELECT)
                return -1;
              x9 = XEXP (x5, 1);
              operands[3] = x9;
              switch (pattern48 (x3))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2039; /* aarch64_simd_vec_smult_lo_v16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2051; /* aarch64_simd_vec_smult_hi_v16qi */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2041; /* aarch64_simd_vec_smult_lo_v8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2053; /* aarch64_simd_vec_smult_hi_v8hi */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2043; /* aarch64_simd_vec_smult_lo_v4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2055; /* aarch64_simd_vec_smult_hi_v4si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern412 (x3, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2065; /* aarch64_smull_hi_lanev8hi_insn */

                case 1:
                  if (!
#line 2381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2069; /* aarch64_smull_hi_laneqv8hi_insn */

                case 2:
                  if (!
#line 2347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2067; /* aarch64_smull_hi_lanev4si_insn */

                case 3:
                  if (!
#line 2381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2071; /* aarch64_smull_hi_laneqv4si_insn */

                case 4:
                  if (!
#line 2426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2077; /* aarch64_smull_hi_nv8hi_insn */

                case 5:
                  if (!
#line 2426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2079; /* aarch64_smull_hi_nv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case ZERO_EXTEND:
              switch (pattern408 (x3))
                {
                case 0:
                  return 391; /* umulsidi3 */

                case 1:
                  if (!
#line 2269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2046; /* aarch64_intrinsic_vec_umult_lo_v8qi */

                case 2:
                  if (!
#line 2269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2048; /* aarch64_intrinsic_vec_umult_lo_v4hi */

                case 3:
                  if (!
#line 2269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2050; /* aarch64_intrinsic_vec_umult_lo_v2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern410 (x3, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2058; /* aarch64_vec_umult_lane_v4hi */

                case 1:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2060; /* aarch64_vec_umult_laneq_v4hi */

                case 2:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2062; /* aarch64_vec_umult_lane_v2si */

                case 3:
                  if (!
#line 2327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2064; /* aarch64_vec_umult_laneq_v2si */

                case 4:
                  if (!
#line 2411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2074; /* aarch64_umull_nv4hi */

                case 5:
                  if (!
#line 2411 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2076; /* aarch64_umull_nv2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          x6 = XEXP (x3, 1);
          switch (GET_CODE (x6))
            {
            case ZERO_EXTEND:
              x8 = XEXP (x6, 0);
              if (GET_CODE (x8) != VEC_SELECT)
                return -1;
              x9 = XEXP (x5, 1);
              operands[3] = x9;
              switch (pattern48 (x3))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2040; /* aarch64_simd_vec_umult_lo_v16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2052; /* aarch64_simd_vec_umult_hi_v16qi */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2042; /* aarch64_simd_vec_umult_lo_v8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2054; /* aarch64_simd_vec_umult_hi_v8hi */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2258 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2044; /* aarch64_simd_vec_umult_lo_v4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2056; /* aarch64_simd_vec_umult_hi_v4si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern412 (x3, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2066; /* aarch64_umull_hi_lanev8hi_insn */

                case 1:
                  if (!
#line 2381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2070; /* aarch64_umull_hi_laneqv8hi_insn */

                case 2:
                  if (!
#line 2347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2068; /* aarch64_umull_hi_lanev4si_insn */

                case 3:
                  if (!
#line 2381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2072; /* aarch64_umull_hi_laneqv4si_insn */

                case 4:
                  if (!
#line 2426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2078; /* aarch64_umull_hi_nv8hi_insn */

                case 5:
                  if (!
#line 2426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2080; /* aarch64_umull_hi_nv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT:
      switch (pattern54 (x3))
        {
        case 0:
          if (!
#line 6313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 933; /* *aarch64_scvtfsisf2_mult */

        case 1:
          if (!
#line 6336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 937; /* *aarch64_scvtfdisf2_mult */

        case 2:
          if (!
#line 6313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 935; /* *aarch64_scvtfdidf2_mult */

        case 3:
          if (!
#line 6336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 939; /* *aarch64_scvtfsidf2_mult */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      switch (pattern54 (x3))
        {
        case 0:
          if (!
#line 6313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 934; /* *aarch64_ucvtfsisf2_mult */

        case 1:
          if (!
#line 6336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 938; /* *aarch64_ucvtfdisf2_mult */

        case 2:
          if (!
#line 6313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 936; /* *aarch64_ucvtfdidf2_mult */

        case 3:
          if (!
#line 6336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 940; /* *aarch64_ucvtfsidf2_mult */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x6 = XEXP (x3, 1);
      operands[1] = x6;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case VEC_SELECT:
          x9 = XEXP (x5, 1);
          if (GET_CODE (x9) != PARALLEL
              || XVECLEN (x9, 0) != 1)
            return -1;
          x7 = XEXP (x5, 0);
          operands[2] = x7;
          x10 = XVECEXP (x9, 0, 0);
          operands[3] = x10;
          if (!immediate_operand (operands[3], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              switch (pattern669 (x3, E_V4HImode))
                {
                case 0:
                  if (!
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1539; /* mul_lanev4hi3 */

                case 1:
                  if (!
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1547; /* mul_laneqv4hi3 */

                default:
                  return -1;
                }

            case E_V8HImode:
              switch (pattern669 (x3, E_V8HImode))
                {
                case 0:
                  if (!
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1540; /* mul_lanev8hi3 */

                case 1:
                  if (!
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1548; /* mul_laneqv8hi3 */

                default:
                  return -1;
                }

            case E_V2SImode:
              switch (pattern670 (x3, E_V2SImode))
                {
                case 0:
                  if (!
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1541; /* mul_lanev2si3 */

                case 1:
                  if (!
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1549; /* mul_laneqv2si3 */

                default:
                  return -1;
                }

            case E_V4SImode:
              switch (pattern670 (x3, E_V4SImode))
                {
                case 0:
                  if (!
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1542; /* mul_lanev4si3 */

                case 1:
                  if (!
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1550; /* mul_laneqv4si3 */

                default:
                  return -1;
                }

            case E_V4HFmode:
              switch (pattern671 (x3, E_V4HFmode))
                {
                case 0:
                  if (!(
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1543; /* mul_lanev4hf3 */

                case 1:
                  if (!(
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1551; /* mul_laneqv4hf3 */

                default:
                  return -1;
                }

            case E_V8HFmode:
              switch (pattern671 (x3, E_V8HFmode))
                {
                case 0:
                  if (!(
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1544; /* mul_lanev8hf3 */

                case 1:
                  if (!(
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1552; /* mul_laneqv8hf3 */

                default:
                  return -1;
                }

            case E_V2SFmode:
              switch (pattern672 (x3, E_V2SFmode))
                {
                case 0:
                  if (!
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1545; /* mul_lanev2sf3 */

                case 1:
                  if (!
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1553; /* mul_laneqv2sf3 */

                default:
                  return -1;
                }

            case E_V4SFmode:
              switch (pattern672 (x3, E_V4SFmode))
                {
                case 0:
                  if (!
#line 718 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1546; /* mul_lanev4sf3 */

                case 1:
                  if (!
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1554; /* mul_laneqv4sf3 */

                default:
                  return -1;
                }

            case E_V2DFmode:
              if (!register_operand (operands[0], E_V2DFmode)
                  || GET_MODE (x3) != E_V2DFmode
                  || GET_MODE (x4) != E_V2DFmode
                  || GET_MODE (x5) != E_DFmode
                  || !register_operand (operands[2], E_V2DFmode)
                  || !register_operand (operands[1], E_V2DFmode)
                  || !
#line 734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1555; /* mul_laneqv2df3 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern482 (x3, E_V4HImode, E_HImode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1556; /* mul_nv4hi3 */

            case E_V8HImode:
              if (pattern482 (x3, E_V8HImode, E_HImode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1557; /* mul_nv8hi3 */

            case E_V2SImode:
              if (pattern482 (x3, E_V2SImode, E_SImode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1558; /* mul_nv2si3 */

            case E_V4SImode:
              if (pattern482 (x3, E_V4SImode, E_SImode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1559; /* mul_nv4si3 */

            case E_V4HFmode:
              if (pattern482 (x3, E_V4HFmode, E_HFmode) != 0
                  || !(
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 1560; /* mul_nv4hf3 */

            case E_V8HFmode:
              if (pattern482 (x3, E_V8HFmode, E_HFmode) != 0
                  || !(
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 1561; /* mul_nv8hf3 */

            case E_V2SFmode:
              if (pattern482 (x3, E_V2SFmode, E_SFmode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1562; /* mul_nv2sf3 */

            case E_V4SFmode:
              if (pattern482 (x3, E_V4SFmode, E_SFmode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1563; /* mul_nv4sf3 */

            case E_V2DFmode:
              if (pattern482 (x3, E_V2DFmode, E_DFmode) != 0
                  || !
#line 748 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1564; /* mul_nv2df3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern55 (x3) != 0)
        return -1;
      x6 = XEXP (x3, 1);
      operands[3] = x6;
      if (!register_operand (operands[3], E_DFmode)
          || !
#line 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1583; /* *aarch64_mul3_elt_to_64v2df */

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 153)
        return -1;
      x11 = XVECEXP (x4, 0, 0);
      operands[2] = x11;
      x12 = XVECEXP (x4, 0, 1);
      operands[3] = x12;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      x6 = XEXP (x3, 1);
      operands[1] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern629 (x3, E_VNx8HFmode) != 0
              || !
#line 6152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7202; /* aarch64_mul_lane_vnx8hf */

        case E_VNx4SFmode:
          if (pattern629 (x3, E_VNx4SFmode) != 0
              || !
#line 6152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7203; /* aarch64_mul_lane_vnx4sf */

        case E_VNx2DFmode:
          if (pattern629 (x3, E_VNx2DFmode) != 0
              || !
#line 6152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7204; /* aarch64_mul_lane_vnx2df */

        case E_VNx8HImode:
          if (pattern629 (x3, E_VNx8HImode) != 0
              || !
#line 204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9099; /* aarch64_mul_lane_vnx8hi */

        case E_VNx4SImode:
          if (pattern629 (x3, E_VNx4SImode) != 0
              || !
#line 204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9100; /* aarch64_mul_lane_vnx4si */

        case E_VNx2DImode:
          if (pattern629 (x3, E_VNx2DImode) != 0
              || !
#line 204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9101; /* aarch64_mul_lane_vnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_411 (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 REG:
    case SUBREG:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern370 (x3, E_SImode) != 0)
            return -1;
          return 502; /* xorsi3 */

        case E_DImode:
          if (pattern370 (x3, E_DImode) != 0)
            return -1;
          return 505; /* xordi3 */

        case E_V8QImode:
          if (pattern13 (x3, E_V8QImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1688; /* xorv8qi3 */

        case E_V16QImode:
          if (pattern13 (x3, E_V16QImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1689; /* xorv16qi3 */

        case E_V4HImode:
          if (pattern13 (x3, E_V4HImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1690; /* xorv4hi3 */

        case E_V8HImode:
          if (pattern13 (x3, E_V8HImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1691; /* xorv8hi3 */

        case E_V2SImode:
          if (pattern13 (x3, E_V2SImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1692; /* xorv2si3 */

        case E_V4SImode:
          if (pattern13 (x3, E_V4SImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1693; /* xorv4si3 */

        case E_V2DImode:
          if (pattern13 (x3, E_V2DImode) != 0
              || !
#line 1024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1694; /* xorv2di3 */

        case E_VNx16QImode:
          if (pattern372 (x3, E_VNx16QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6556; /* xorvnx16qi3 */

        case E_VNx8QImode:
          if (pattern372 (x3, E_VNx8QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6559; /* xorvnx8qi3 */

        case E_VNx4QImode:
          if (pattern372 (x3, E_VNx4QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6562; /* xorvnx4qi3 */

        case E_VNx2QImode:
          if (pattern372 (x3, E_VNx2QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6565; /* xorvnx2qi3 */

        case E_VNx8HImode:
          if (pattern372 (x3, E_VNx8HImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6568; /* xorvnx8hi3 */

        case E_VNx4HImode:
          if (pattern372 (x3, E_VNx4HImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6571; /* xorvnx4hi3 */

        case E_VNx2HImode:
          if (pattern372 (x3, E_VNx2HImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6574; /* xorvnx2hi3 */

        case E_VNx4SImode:
          if (pattern372 (x3, E_VNx4SImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6577; /* xorvnx4si3 */

        case E_VNx2SImode:
          if (pattern372 (x3, E_VNx2SImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6580; /* xorvnx2si3 */

        case E_VNx2DImode:
          if (pattern372 (x3, E_VNx2DImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6583; /* xorvnx2di3 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern40 (x3))
        {
        case 0:
          return 526; /* *xor_ashlsi3 */

        case 1:
          return 538; /* *xor_ashldi3 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern40 (x3))
        {
        case 0:
          return 529; /* *xor_ashrsi3 */

        case 1:
          return 541; /* *xor_ashrdi3 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern40 (x3))
        {
        case 0:
          return 532; /* *xor_lshrsi3 */

        case 1:
          return 544; /* *xor_lshrdi3 */

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern40 (x3))
        {
        case 0:
          return 535; /* *xor_rotrsi3 */

        case 1:
          return 547; /* *xor_rotrdi3 */

        default:
          return -1;
        }

    case ROTATE:
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      operands[2] = x6;
      switch (pattern327 (x3))
        {
        case 0:
          return 550; /* *xor_rolsi3 */

        case 1:
          return 553; /* *xor_roldi3 */

        default:
          break;
        }
      if (XWINT (x6, 0) != 1L)
        return -1;
      x7 = XEXP (x4, 0);
      operands[2] = x7;
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_V2DImode:
          if (pattern521 (x3, E_V2DImode) != 0
              || !
#line 8260 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
            return -1;
          return 4254; /* aarch64_rax1qv2di */

        case E_VNx2DImode:
          if (pattern521 (x3, E_VNx2DImode) != 0
              || !
#line 2617 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_SHA3))
            return -1;
          return 9963; /* aarch64_sve2_rax1 */

        default:
          return -1;
        }

    case NOT:
      x5 = XEXP (x3, 1);
      operands[3] = x5;
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case ASHIFT:
          switch (pattern333 (x3))
            {
            case 0:
              return 596; /* xor_one_cmpl_ashlsi3 */

            case 1:
              return 608; /* xor_one_cmpl_ashldi3 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern333 (x3))
            {
            case 0:
              return 599; /* xor_one_cmpl_ashrsi3 */

            case 1:
              return 611; /* xor_one_cmpl_ashrdi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern333 (x3))
            {
            case 0:
              return 602; /* xor_one_cmpl_lshrsi3 */

            case 1:
              return 614; /* xor_one_cmpl_lshrdi3 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern333 (x3))
            {
            case 0:
              return 605; /* xor_one_cmpl_rotrsi3 */

            case 1:
              return 617; /* xor_one_cmpl_rotrdi3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case XOR:
          x8 = XEXP (x7, 1);
          operands[2] = x8;
          switch (GET_MODE (operands[0]))
            {
            case E_V8QImode:
              if (pattern438 (x3, E_V8QImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2468; /* aarch64_simd_bslv8qi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2475; /* *aarch64_simd_bslv8qi_alt */

            case E_V16QImode:
              if (pattern438 (x3, E_V16QImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2469; /* aarch64_simd_bslv16qi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2476; /* *aarch64_simd_bslv16qi_alt */

            case E_V4HImode:
              if (pattern438 (x3, E_V4HImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2470; /* aarch64_simd_bslv4hi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2477; /* *aarch64_simd_bslv4hi_alt */

            case E_V8HImode:
              if (pattern438 (x3, E_V8HImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2471; /* aarch64_simd_bslv8hi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2478; /* *aarch64_simd_bslv8hi_alt */

            case E_V2SImode:
              if (pattern438 (x3, E_V2SImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2472; /* aarch64_simd_bslv2si_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2479; /* *aarch64_simd_bslv2si_alt */

            case E_V4SImode:
              if (pattern438 (x3, E_V4SImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2473; /* aarch64_simd_bslv4si_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2480; /* *aarch64_simd_bslv4si_alt */

            case E_V2DImode:
              if (pattern438 (x3, E_V2DImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3595 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2474; /* aarch64_simd_bslv2di_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2481; /* *aarch64_simd_bslv2di_alt */

            case E_DImode:
              if (pattern438 (x3, E_DImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2482; /* aarch64_simd_bsldi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2483; /* aarch64_simd_bsldi_alt */

            case E_VNx16QImode:
              if (pattern439 (x3, E_VNx16QImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9392; /* *aarch64_sve2_bslvnx16qi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9393; /* *aarch64_sve2_bslvnx16qi */

            case E_VNx8HImode:
              if (pattern439 (x3, E_VNx8HImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9394; /* *aarch64_sve2_bslvnx8hi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9395; /* *aarch64_sve2_bslvnx8hi */

            case E_VNx4SImode:
              if (pattern439 (x3, E_VNx4SImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9396; /* *aarch64_sve2_bslvnx4si */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9397; /* *aarch64_sve2_bslvnx4si */

            case E_VNx2DImode:
              if (pattern439 (x3, E_VNx2DImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9398; /* *aarch64_sve2_bslvnx2di */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9399; /* *aarch64_sve2_bslvnx2di */

            default:
              return -1;
            }

        case NOT:
          x9 = XEXP (x7, 0);
          operands[3] = x9;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          x5 = XEXP (x3, 1);
          operands[1] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_V16QImode:
              if (pattern330 (x3, E_V16QImode) != 0
                  || !
#line 8284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
                return -1;
              return 4256; /* bcaxqv16qi4 */

            case E_V8HImode:
              if (pattern330 (x3, E_V8HImode) != 0
                  || !
#line 8284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
                return -1;
              return 4257; /* bcaxqv8hi4 */

            case E_V4SImode:
              if (pattern330 (x3, E_V4SImode) != 0
                  || !
#line 8284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
                return -1;
              return 4258; /* bcaxqv4si4 */

            case E_V2DImode:
              if (pattern330 (x3, E_V2DImode) != 0
                  || !
#line 8284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
                return -1;
              return 4259; /* bcaxqv2di4 */

            default:
              return -1;
            }

        case UNSPEC:
          switch (pattern258 (x3))
            {
            case 0:
              if (!
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9376; /* *aarch64_sve2_bcaxvnx16qi */

            case 1:
              if (!
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9377; /* *aarch64_sve2_bcaxvnx8hi */

            case 2:
              if (!
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9378; /* *aarch64_sve2_bcaxvnx4si */

            case 3:
              if (!
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9379; /* *aarch64_sve2_bcaxvnx2di */

            case 4:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9408; /* *aarch64_sve2_bsl1nvnx16qi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9409; /* *aarch64_sve2_bsl1nvnx16qi */

            case 5:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9410; /* *aarch64_sve2_bsl1nvnx8hi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9411; /* *aarch64_sve2_bsl1nvnx8hi */

            case 6:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9412; /* *aarch64_sve2_bsl1nvnx4si */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9413; /* *aarch64_sve2_bsl1nvnx4si */

            case 7:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9414; /* *aarch64_sve2_bsl1nvnx2di */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9415; /* *aarch64_sve2_bsl1nvnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case XOR:
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern259 (x3, E_V16QImode) != 0
              || !
#line 8248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
            return -1;
          return 4250; /* eor3qv16qi4 */

        case E_V8HImode:
          if (pattern259 (x3, E_V8HImode) != 0
              || !
#line 8248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
            return -1;
          return 4251; /* eor3qv8hi4 */

        case E_V4SImode:
          if (pattern259 (x3, E_V4SImode) != 0
              || !
#line 8248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
            return -1;
          return 4252; /* eor3qv4si4 */

        case E_V2DImode:
          if (pattern259 (x3, E_V2DImode) != 0
              || !
#line 8248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
            return -1;
          return 4253; /* eor3qv2di4 */

        case E_VNx16QImode:
          if (pattern260 (x3, E_VNx16QImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9380; /* aarch64_sve2_eor3vnx16qi */

        case E_VNx8HImode:
          if (pattern260 (x3, E_VNx8HImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9381; /* aarch64_sve2_eor3vnx8hi */

        case E_VNx4SImode:
          if (pattern260 (x3, E_VNx4SImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9382; /* aarch64_sve2_eor3vnx4si */

        case E_VNx2DImode:
          if (pattern260 (x3, E_VNx2DImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9383; /* aarch64_sve2_eor3vnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_412 (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);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
      operands[1] = x3;
      res = recog_397 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_VNx16BImode)
          || GET_MODE (x2) != E_VNx16BImode)
        return -1;
      x5 = XEXP (x2, 1);
      if (!register_operand (x5, E_VNx16BImode))
        return -1;
      operands[1] = x5;
      if (GET_CODE (x3) == REG
          && REGNO (x3) == 85
          && GET_MODE (x3) == E_VNx16BImode
          && 
#line 1136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 4640; /* aarch64_rdffr_z */
      operands[2] = x5;
      operands[1] = x3;
      if (!register_operand (operands[1], E_VNx16BImode)
          || !
#line 6362 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7226; /* andvnx16bi3 */

    case ASHIFT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x6 = XEXP (x3, 0);
      operands[1] = x6;
      x7 = XEXP (x3, 1);
      operands[2] = x7;
      x5 = XEXP (x2, 1);
      operands[3] = x5;
      switch (GET_CODE (operands[3]))
        {
        case REG:
        case SUBREG:
          switch (pattern39 (x2))
            {
            case 0:
              return 524; /* *and_ashlsi3 */

            case 1:
              return 536; /* *and_ashldi3 */

            default:
              return -1;
            }

        case CONST_INT:
          if (!const_int_operand (operands[3], E_VOIDmode)
              || !const_int_operand (operands[2], E_VOIDmode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern522 (x2, E_SImode) != 0
                  || !
#line 5904 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_mask_and_shift_for_ubfiz_p (SImode, operands[3], operands[2])))
                return -1;
              return 794; /* *andim_ashiftsi_bfiz */

            case E_DImode:
              if (pattern522 (x2, E_DImode) != 0
                  || !
#line 5904 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_mask_and_shift_for_ubfiz_p (DImode, operands[3], operands[2])))
                return -1;
              return 795; /* *andim_ashiftdi_bfiz */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern40 (x2))
        {
        case 0:
          return 527; /* *and_ashrsi3 */

        case 1:
          return 539; /* *and_ashrdi3 */

        default:
          return -1;
        }

    case LSHIFTRT:
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      operands[2] = x7;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern327 (x2))
        {
        case 0:
          return 530; /* *and_lshrsi3 */

        case 1:
          return 542; /* *and_lshrdi3 */

        default:
          break;
        }
      if (XWINT (x7, 0) != 56L)
        return -1;
      x5 = XEXP (x2, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || GET_CODE (x4) != MEM
          || GET_MODE (x4) != E_QImode)
        return -1;
      x8 = XEXP (x4, 0);
      if (GET_CODE (x8) != UNSPEC
          || XVECLEN (x8, 0) != 1
          || XINT (x8, 1) != 161
          || GET_MODE (x8) != E_DImode)
        return -1;
      x9 = XVECEXP (x8, 0, 0);
      if (GET_CODE (x9) != PLUS
          || GET_MODE (x9) != E_DImode)
        return -1;
      x10 = XEXP (x9, 0);
      operands[1] = x10;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x11 = XEXP (x9, 1);
      operands[2] = x11;
      if (!aarch64_granule16_simm9 (operands[2], E_DImode)
          || GET_MODE (x2) != E_QImode
          || GET_MODE (x3) != E_DImode)
        return -1;
      x6 = XEXP (x3, 0);
      operands[0] = x6;
      if (!register_operand (operands[0], E_DImode)
          || !
#line 7657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
        return -1;
      return 1131; /* stg */

    case ROTATERT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern40 (x2))
        {
        case 0:
          return 533; /* *and_rotrsi3 */

        case 1:
          return 545; /* *and_rotrdi3 */

        default:
          return -1;
        }

    case ROTATE:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern40 (x2))
        {
        case 0:
          return 548; /* *and_rolsi3 */

        case 1:
          return 551; /* *and_roldi3 */

        default:
          return -1;
        }

    case NOT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x6 = XEXP (x3, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern328 (x2, E_SImode) != 0)
                return -1;
              return 580; /* *and_one_cmplsi3 */

            case E_DImode:
              if (pattern328 (x2, E_DImode) != 0)
                return -1;
              return 582; /* *and_one_cmpldi3 */

            case E_V8QImode:
              if (pattern328 (x2, E_V8QImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1421; /* bicv8qi3 */

            case E_V16QImode:
              if (pattern328 (x2, E_V16QImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1422; /* bicv16qi3 */

            case E_V4HImode:
              if (pattern328 (x2, E_V4HImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1423; /* bicv4hi3 */

            case E_V8HImode:
              if (pattern328 (x2, E_V8HImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1424; /* bicv8hi3 */

            case E_V2SImode:
              if (pattern328 (x2, E_V2SImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1425; /* bicv2si3 */

            case E_V4SImode:
              if (pattern328 (x2, E_V4SImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1426; /* bicv4si3 */

            case E_V2DImode:
              if (pattern328 (x2, E_V2DImode) != 0
                  || !
#line 378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1427; /* bicv2di3 */

            case E_VNx16BImode:
              if (pattern329 (x2, E_VNx16BImode) != 0
                  || !
#line 3598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5758; /* *one_cmplvnx16bi3 */

            case E_VNx8BImode:
              if (pattern329 (x2, E_VNx8BImode) != 0
                  || !
#line 3598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5759; /* *one_cmplvnx8bi3 */

            case E_VNx4BImode:
              if (pattern329 (x2, E_VNx4BImode) != 0
                  || !
#line 3598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5760; /* *one_cmplvnx4bi3 */

            case E_VNx2BImode:
              if (pattern329 (x2, E_VNx2BImode) != 0
                  || !
#line 3598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5761; /* *one_cmplvnx2bi3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern186 (x2))
            {
            case 0:
              return 594; /* and_one_cmpl_ashlsi3 */

            case 1:
              return 606; /* and_one_cmpl_ashldi3 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern186 (x2))
            {
            case 0:
              return 597; /* and_one_cmpl_ashrsi3 */

            case 1:
              return 609; /* and_one_cmpl_ashrdi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern186 (x2))
            {
            case 0:
              return 600; /* and_one_cmpl_lshrsi3 */

            case 1:
              return 612; /* and_one_cmpl_lshrdi3 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern186 (x2))
            {
            case 0:
              return 603; /* and_one_cmpl_rotrsi3 */

            case 1:
              return 615; /* and_one_cmpl_rotrdi3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      return recog_398 (x1, insn, pnum_clobbers);

    case AND:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x6 = XEXP (x3, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          switch (pattern156 (x2))
            {
            case 0:
              if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7230; /* aarch64_pred_andvnx16bi_z */

            case 1:
              if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7233; /* aarch64_pred_andvnx8bi_z */

            case 2:
              if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7236; /* aarch64_pred_andvnx4bi_z */

            case 3:
              if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7239; /* aarch64_pred_andvnx2bi_z */

            default:
              return -1;
            }

        case NOT:
          x12 = XEXP (x6, 0);
          switch (GET_CODE (x12))
            {
            case REG:
            case SUBREG:
              x5 = XEXP (x2, 1);
              operands[1] = x5;
              switch (pattern332 (x2))
                {
                case 0:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7266; /* aarch64_pred_bicvnx16bi_z */

                case 1:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7268; /* aarch64_pred_bicvnx8bi_z */

                case 2:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7270; /* aarch64_pred_bicvnx4bi_z */

                case 3:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7272; /* aarch64_pred_bicvnx2bi_z */

                case 4:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7290; /* aarch64_pred_norvnx16bi_z */

                case 5:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7292; /* aarch64_pred_norvnx8bi_z */

                case 6:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7294; /* aarch64_pred_norvnx4bi_z */

                case 7:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7296; /* aarch64_pred_norvnx2bi_z */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pnum_clobbers == NULL
                  || XVECLEN (x12, 0) != 4)
                return -1;
              x13 = XVECEXP (x12, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
                return -1;
              x14 = XVECEXP (x12, 0, 0);
              operands[1] = x14;
              x15 = XVECEXP (x12, 0, 2);
              operands[2] = x15;
              x16 = XVECEXP (x12, 0, 3);
              operands[3] = x16;
              x5 = XEXP (x2, 1);
              if (!rtx_equal_p (x5, operands[1]))
                return -1;
              switch (XINT (x12, 1))
                {
                case 337:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8388; /* *fcmeqvnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8394; /* *fcmeqvnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8400; /* *fcmeqvnx2df_bic_combine */

                    case 3:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8406; /* *fcmeqvnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8412; /* *fcmeqvnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8418; /* *fcmeqvnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 338:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8389; /* *fcmgevnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8395; /* *fcmgevnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8401; /* *fcmgevnx2df_bic_combine */

                    case 3:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8407; /* *fcmgevnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8413; /* *fcmgevnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8419; /* *fcmgevnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 339:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8390; /* *fcmgtvnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8396; /* *fcmgtvnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8402; /* *fcmgtvnx2df_bic_combine */

                    case 3:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8408; /* *fcmgtvnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8414; /* *fcmgtvnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8420; /* *fcmgtvnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 344:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8391; /* *fcmlevnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8397; /* *fcmlevnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8403; /* *fcmlevnx2df_bic_combine */

                    case 3:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8409; /* *fcmlevnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8415; /* *fcmlevnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8421; /* *fcmlevnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 345:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8392; /* *fcmltvnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8398; /* *fcmltvnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8404; /* *fcmltvnx2df_bic_combine */

                    case 3:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8410; /* *fcmltvnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8416; /* *fcmltvnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8422; /* *fcmltvnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 346:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8393; /* *fcmnevnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8399; /* *fcmnevnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8405; /* *fcmnevnx2df_bic_combine */

                    case 3:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8411; /* *fcmnevnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8417; /* *fcmnevnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8423; /* *fcmnevnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 347:
                  switch (pattern762 (x2))
                    {
                    case 0:
                      if (!
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8424; /* *fcmuovnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8425; /* *fcmuovnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8426; /* *fcmuovnx2df_bic_combine */

                    case 3:
                      if (!
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8427; /* *fcmuovnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8428; /* *fcmuovnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8429; /* *fcmuovnx2df_nor_combine */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case IOR:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x5 = XEXP (x2, 1);
      operands[1] = x5;
      x6 = XEXP (x3, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[2] = x6;
          x7 = XEXP (x3, 1);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16BImode:
              if (pattern155 (x2, E_VNx16BImode) != 0
                  || !
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7231; /* aarch64_pred_iorvnx16bi_z */

            case E_VNx8BImode:
              if (pattern155 (x2, E_VNx8BImode) != 0
                  || !
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7234; /* aarch64_pred_iorvnx8bi_z */

            case E_VNx4BImode:
              if (pattern155 (x2, E_VNx4BImode) != 0
                  || !
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7237; /* aarch64_pred_iorvnx4bi_z */

            case E_VNx2BImode:
              if (pattern155 (x2, E_VNx2BImode) != 0
                  || !
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7240; /* aarch64_pred_iorvnx2bi_z */

            default:
              return -1;
            }

        case NOT:
          switch (pattern332 (x2))
            {
            case 0:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7267; /* aarch64_pred_ornvnx16bi_z */

            case 1:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7269; /* aarch64_pred_ornvnx8bi_z */

            case 2:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7271; /* aarch64_pred_ornvnx4bi_z */

            case 3:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7273; /* aarch64_pred_ornvnx2bi_z */

            case 4:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7291; /* aarch64_pred_nandvnx16bi_z */

            case 5:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7293; /* aarch64_pred_nandvnx8bi_z */

            case 6:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7295; /* aarch64_pred_nandvnx4bi_z */

            case 7:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7297; /* aarch64_pred_nandvnx2bi_z */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case XOR:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern156 (x2))
        {
        case 0:
          if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7232; /* aarch64_pred_xorvnx16bi_z */

        case 1:
          if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7235; /* aarch64_pred_xorvnx8bi_z */

        case 2:
          if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7238; /* aarch64_pred_xorvnx4bi_z */

        case 3:
          if (!
#line 6388 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7241; /* aarch64_pred_xorvnx2bi_z */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_413 (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 REG:
    case SUBREG:
      return recog_50 (x1, insn, pnum_clobbers);

    case ASHIFT:
      x5 = XEXP (x4, 1);
      operands[2] = x5;
      x6 = XEXP (x3, 1);
      operands[3] = x6;
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
          operands[1] = x7;
          switch (pattern39 (x3))
            {
            case 0:
              return 209; /* *add_lsl_si */

            case 1:
              return 212; /* *add_lsl_di */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern377 (x3))
            {
            case 0:
              return 238; /* *add_extendqi_shft_si */

            case 1:
              return 242; /* *add_extendhi_shft_si */

            case 2:
              return 246; /* *add_extendsi_shft_si */

            case 3:
              return 240; /* *add_extendqi_shft_di */

            case 4:
              return 244; /* *add_extendhi_shft_di */

            case 5:
              return 248; /* *add_extendsi_shft_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern377 (x3))
            {
            case 0:
              return 239; /* *add_zero_extendqi_shft_si */

            case 1:
              return 243; /* *add_zero_extendhi_shft_si */

            case 2:
              return 247; /* *add_zero_extendsi_shft_si */

            case 3:
              return 241; /* *add_zero_extendqi_shft_di */

            case 4:
              return 245; /* *add_zero_extendhi_shft_di */

            case 5:
              return 249; /* *add_zero_extendsi_shft_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern44 (x3))
        {
        case 0:
          return 210; /* *add_asr_si */

        case 1:
          return 213; /* *add_asr_di */

        case 2:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1754; /* *aarch64_simd_srav8qi */

        case 3:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1756; /* *aarch64_simd_srav16qi */

        case 4:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1758; /* *aarch64_simd_srav4hi */

        case 5:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1760; /* *aarch64_simd_srav8hi */

        case 6:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1762; /* *aarch64_simd_srav2si */

        case 7:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1764; /* *aarch64_simd_srav4si */

        case 8:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1766; /* *aarch64_simd_srav2di */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern44 (x3))
        {
        case 0:
          return 211; /* *add_lsr_si */

        case 1:
          return 214; /* *add_lsr_di */

        case 2:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1755; /* *aarch64_simd_srav8qi */

        case 3:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1757; /* *aarch64_simd_srav16qi */

        case 4:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1759; /* *aarch64_simd_srav4hi */

        case 5:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1761; /* *aarch64_simd_srav8hi */

        case 6:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1763; /* *aarch64_simd_srav2si */

        case 7:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1765; /* *aarch64_simd_srav4si */

        case 8:
          if (!
#line 1148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1767; /* *aarch64_simd_srav2di */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      return recog_53 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_52 (x1, insn, pnum_clobbers);

    case PLUS:
      x7 = XEXP (x4, 0);
      operands[3] = x7;
      x5 = XEXP (x4, 1);
      operands[1] = x5;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern470 (x3, E_SImode) != 0)
            return -1;
          return 254; /* *addsi3_carryin */

        case E_DImode:
          if (pattern470 (x3, E_DImode) != 0)
            return -1;
          return 255; /* *adddi3_carryin */

        default:
          return -1;
        }

    case AND:
      x5 = XEXP (x4, 1);
      operands[3] = x5;
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case ASHIFT:
          x8 = XEXP (x7, 0);
          operands[1] = x8;
          x9 = XEXP (x7, 1);
          operands[2] = x9;
          if (!aarch64_imm3 (operands[2], E_VOIDmode)
              || !const_int_operand (operands[3], E_VOIDmode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[4] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern664 (x3, E_SImode) != 0
                  || !
#line 2845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0))
                return -1;
              return 265; /* *add_uxtsi_shift2 */

            case E_DImode:
              if (pattern664 (x3, E_DImode) != 0
                  || !
#line 2845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0))
                return -1;
              return 266; /* *add_uxtdi_shift2 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x7;
          if (!register_operand (operands[2], E_VNx2DImode)
              || !register_operand (operands[0], E_VNx2DImode)
              || GET_MODE (x3) != E_VNx2DImode
              || GET_MODE (x4) != E_VNx2DImode
              || !aarch64_sve_uxtw_immediate (operands[3], E_VNx2DImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[1] = x6;
          if (!register_operand (operands[1], E_VNx2DImode)
              || !
#line 3882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6396; /* *aarch64_adr_uxtw_and */

        default:
          return -1;
        }

    case MULT:
      return recog_51 (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 UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
      operands[2] = x4;
      if (aarch64_comparison_operation (operands[2], E_VOIDmode))
        {
          x6 = XEXP (x3, 1);
          operands[1] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (register_operand (operands[0], E_SImode)
                  && GET_MODE (x3) == E_SImode
                  && register_operand (operands[1], E_SImode))
                return 472; /* *csinc2si_insn */
              break;

            case E_DImode:
              if (register_operand (operands[0], E_DImode)
                  && GET_MODE (x3) == E_DImode
                  && register_operand (operands[1], E_DImode))
                return 473; /* *csinc2di_insn */
              break;

            default:
              break;
            }
        }
      if (GET_CODE (x4) != EQ)
        return -1;
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case AND:
          x8 = XEXP (x7, 0);
          operands[1] = x8;
          x9 = XEXP (x7, 1);
          operands[2] = x9;
          x5 = XEXP (x4, 1);
          operands[3] = x5;
          x6 = XEXP (x3, 1);
          operands[4] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V8QImode:
              if (pattern623 (x3, E_V8QImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3418; /* aarch64_cmtstv8qi */

            case E_V16QImode:
              if (pattern623 (x3, E_V16QImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3419; /* aarch64_cmtstv16qi */

            case E_V4HImode:
              if (pattern623 (x3, E_V4HImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3420; /* aarch64_cmtstv4hi */

            case E_V8HImode:
              if (pattern623 (x3, E_V8HImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3421; /* aarch64_cmtstv8hi */

            case E_V2SImode:
              if (pattern623 (x3, E_V2SImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3422; /* aarch64_cmtstv2si */

            case E_V4SImode:
              if (pattern623 (x3, E_V4SImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3423; /* aarch64_cmtstv4si */

            case E_V2DImode:
              if (pattern623 (x3, E_V2DImode) != 0
                  || !
#line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3424; /* aarch64_cmtstv2di */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[1] = x7;
          x5 = XEXP (x4, 1);
          operands[2] = x5;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V8QImode:
              if (pattern569 (x3, E_V8QImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3425; /* *aarch64_cmtst_same_v8qi */

            case E_V16QImode:
              if (pattern569 (x3, E_V16QImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3426; /* *aarch64_cmtst_same_v16qi */

            case E_V4HImode:
              if (pattern569 (x3, E_V4HImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3427; /* *aarch64_cmtst_same_v4hi */

            case E_V8HImode:
              if (pattern569 (x3, E_V8HImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3428; /* *aarch64_cmtst_same_v8hi */

            case E_V2SImode:
              if (pattern569 (x3, E_V2SImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3429; /* *aarch64_cmtst_same_v2si */

            case E_V4SImode:
              if (pattern569 (x3, E_V4SImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3430; /* *aarch64_cmtst_same_v4si */

            case E_V2DImode:
              if (pattern569 (x3, E_V2DImode) != 0
                  || !
#line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3431; /* *aarch64_cmtst_same_v2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SMAX:
      switch (pattern46 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 490; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 494; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case SMIN:
      switch (pattern46 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 491; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 495; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case UMAX:
      switch (pattern46 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 492; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 496; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case UMIN:
      switch (pattern46 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 493; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 497; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_49 (x1, insn, pnum_clobbers);

    case MINUS:
      x6 = XEXP (x3, 1);
      operands[1] = x6;
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case SMAX:
          switch (pattern304 (x3, SMIN))
            {
            case 0:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1654; /* aarch64_sabav8qi */

            case 1:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1656; /* aarch64_sabav16qi */

            case 2:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1658; /* aarch64_sabav4hi */

            case 3:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1660; /* aarch64_sabav8hi */

            case 4:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1662; /* aarch64_sabav2si */

            case 5:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1664; /* aarch64_sabav4si */

            default:
              return -1;
            }

        case UMAX:
          switch (pattern304 (x3, UMIN))
            {
            case 0:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1655; /* aarch64_uabav8qi */

            case 1:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1657; /* aarch64_uabav16qi */

            case 2:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1659; /* aarch64_uabav4hi */

            case 3:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1661; /* aarch64_uabav8hi */

            case 4:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1663; /* aarch64_uabav2si */

            case 5:
              if (!
#line 962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1665; /* aarch64_uabav4si */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x7, 0) != 2
              || XINT (x7, 1) != 118)
            return -1;
          x5 = XEXP (x4, 1);
          if (GET_CODE (x5) != UNSPEC
              || XVECLEN (x5, 0) != 2
              || XINT (x5, 1) != 118)
            return -1;
          x10 = XVECEXP (x7, 0, 0);
          operands[4] = x10;
          x11 = XVECEXP (x5, 0, 0);
          operands[5] = x11;
          x12 = XVECEXP (x7, 0, 1);
          switch (GET_CODE (x12))
            {
            case SMAX:
              switch (pattern746 (x3, SMIN))
                {
                case 0:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9456; /* *aarch64_sve2_sabavnx16qi */

                case 1:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9458; /* *aarch64_sve2_sabavnx8hi */

                case 2:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9460; /* *aarch64_sve2_sabavnx4si */

                case 3:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9462; /* *aarch64_sve2_sabavnx2di */

                default:
                  return -1;
                }

            case UMAX:
              switch (pattern746 (x3, UMIN))
                {
                case 0:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9457; /* *aarch64_sve2_uabavnx16qi */

                case 1:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9459; /* *aarch64_sve2_uabavnx8hi */

                case 2:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9461; /* *aarch64_sve2_uabavnx4si */

                case 3:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9463; /* *aarch64_sve2_uabavnx2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
        case TRUNCATE:
          operands[1] = x7;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern471 (x3, E_VNx16QImode, E_QImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5157; /* *vec_seriesvnx16qi_plus */
              break;

            case E_VNx8QImode:
              if (pattern471 (x3, E_VNx8QImode, E_QImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5158; /* *vec_seriesvnx8qi_plus */
              break;

            case E_VNx4QImode:
              if (pattern471 (x3, E_VNx4QImode, E_QImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5159; /* *vec_seriesvnx4qi_plus */
              break;

            case E_VNx2QImode:
              if (pattern471 (x3, E_VNx2QImode, E_QImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5160; /* *vec_seriesvnx2qi_plus */
              break;

            case E_VNx8HImode:
              if (pattern471 (x3, E_VNx8HImode, E_HImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5161; /* *vec_seriesvnx8hi_plus */
              break;

            case E_VNx4HImode:
              if (pattern471 (x3, E_VNx4HImode, E_HImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5162; /* *vec_seriesvnx4hi_plus */
              break;

            case E_VNx2HImode:
              if (pattern471 (x3, E_VNx2HImode, E_HImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5163; /* *vec_seriesvnx2hi_plus */
              break;

            case E_VNx4SImode:
              if (pattern471 (x3, E_VNx4SImode, E_SImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5164; /* *vec_seriesvnx4si_plus */
              break;

            case E_VNx2SImode:
              if (pattern471 (x3, E_VNx2SImode, E_SImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5165; /* *vec_seriesvnx2si_plus */
              break;

            case E_VNx2DImode:
              if (pattern471 (x3, E_VNx2DImode, E_DImode) == 0
                  && 
#line 2672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5166; /* *vec_seriesvnx2di_plus */
              break;

            default:
              break;
            }
          if (!subreg_lowpart_operator (x7, E_HImode)
              || pattern305 (x3, E_VNx8HImode) != 0)
            return -1;
          switch (pattern166 (x7))
            {
            case 0:
              if (!
#line 9968 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8988; /* *aarch64_sve_incvnx8hi_pat */

            case 1:
              if (!
#line 10369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9040; /* *aarch64_sve_incvnx8hi_cntp */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x7) != E_DImode
              || pattern305 (x3, E_VNx2DImode) != 0)
            return -1;
          x8 = XEXP (x7, 0);
          switch (pattern164 (x8))
            {
            case 0:
              if (!
#line 9912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8982; /* aarch64_sve_incvnx2di_pat */

            case 1:
              if (!
#line 10289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9034; /* *aarch64_sve_incvnx2di_cntp */

            default:
              return -1;
            }

        case UNSPEC:
          if (pattern187 (x3, E_VNx4SImode) != 0
              || GET_MODE (x7) != E_SImode)
            return -1;
          x6 = XEXP (x3, 1);
          operands[1] = x6;
          switch (pattern165 (x7))
            {
            case 0:
              if (!
#line 9933 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8985; /* aarch64_sve_incvnx4si_pat */

            case 1:
              if (!
#line 10328 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9037; /* *aarch64_sve_incvnx4si_cntp */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_414 (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);
  switch (XVECLEN (x2, 0))
    {
    case 2:
      return recog_394 (x1, insn, pnum_clobbers);

    case 1:
      return recog_395 (x1, insn, pnum_clobbers);

    case 3:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      return recog_385 (x1, insn, pnum_clobbers);

    case 4:
      return recog_396 (x1, insn, pnum_clobbers);

    case 6:
      x4 = XVECEXP (x2, 0, 0);
      operands[5] = x4;
      x5 = XVECEXP (x2, 0, 3);
      if (!const_int_operand (x5, E_DImode))
        return -1;
      switch (XINT (x2, 1))
        {
        case 113:
          x6 = XVECEXP (x2, 0, 5);
          if (GET_CODE (x6) != MEM
              || GET_MODE (x6) != E_BLKmode)
            return -1;
          x7 = XEXP (x6, 0);
          if (GET_CODE (x7) != SCRATCH)
            return -1;
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          x8 = XVECEXP (x2, 0, 1);
          operands[1] = x8;
          operands[3] = x5;
          x9 = XVECEXP (x2, 0, 4);
          operands[4] = x9;
          x10 = XVECEXP (x2, 0, 2);
          switch (GET_CODE (x10))
            {
            case REG:
            case SUBREG:
              operands[2] = x10;
              switch (GET_MODE (operands[0]))
                {
                case E_VNx4QImode:
                  if (pattern815 (x2, E_VNx4SImode, E_VNx4BImode, E_VNx4QImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4793; /* mask_gather_loadvnx4qivnx4si */

                case E_VNx4HImode:
                  if (pattern816 (x2, E_VNx4HImode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4794; /* mask_gather_loadvnx4hivnx4si */

                case E_VNx4HFmode:
                  if (pattern816 (x2, E_VNx4HFmode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4795; /* mask_gather_loadvnx4hfvnx4si */

                case E_VNx4BFmode:
                  if (pattern816 (x2, E_VNx4BFmode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4796; /* mask_gather_loadvnx4bfvnx4si */

                case E_VNx4SImode:
                  if (!register_operand (operands[0], E_VNx4SImode)
                      || GET_MODE (x2) != E_VNx4SImode
                      || pattern817 (E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4797; /* mask_gather_loadvnx4sivnx4si */

                case E_VNx4SFmode:
                  if (pattern818 (x2, E_VNx4SFmode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4798; /* mask_gather_loadvnx4sfvnx4si */

                case E_VNx2QImode:
                  if (pattern815 (x2, E_VNx2DImode, E_VNx2BImode, E_VNx2QImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4799; /* mask_gather_loadvnx2qivnx2di */

                case E_VNx2HImode:
                  if (pattern816 (x2, E_VNx2HImode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4800; /* mask_gather_loadvnx2hivnx2di */

                case E_VNx2HFmode:
                  if (pattern816 (x2, E_VNx2HFmode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4801; /* mask_gather_loadvnx2hfvnx2di */

                case E_VNx2BFmode:
                  if (pattern816 (x2, E_VNx2BFmode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4802; /* mask_gather_loadvnx2bfvnx2di */

                case E_VNx2SImode:
                  if (pattern818 (x2, E_VNx2SImode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4803; /* mask_gather_loadvnx2sivnx2di */

                case E_VNx2SFmode:
                  if (pattern818 (x2, E_VNx2SFmode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4804; /* mask_gather_loadvnx2sfvnx2di */

                case E_VNx2DImode:
                  if (pattern819 (x2, E_VNx2DImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4805; /* mask_gather_loadvnx2divnx2di */

                case E_VNx2DFmode:
                  if (pattern819 (x2, E_VNx2DFmode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4806; /* mask_gather_loadvnx2dfvnx2di */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pattern758 (x10) != 0
                  || !register_operand (operands[1], E_DImode))
                return -1;
              x11 = XVECEXP (x10, 0, 0);
              operands[6] = x11;
              x12 = XVECEXP (x10, 0, 1);
              if (GET_MODE (x12) != E_VNx2DImode)
                return -1;
              switch (pattern896 (x2))
                {
                case 0:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4807; /* *mask_gather_loadvnx2qivnx2di_sxtw_unpacked */

                case 1:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4809; /* *mask_gather_loadvnx2hivnx2di_sxtw_unpacked */

                case 2:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4811; /* *mask_gather_loadvnx2hfvnx2di_sxtw_unpacked */

                case 3:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4813; /* *mask_gather_loadvnx2bfvnx2di_sxtw_unpacked */

                case 4:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4815; /* *mask_gather_loadvnx2sivnx2di_sxtw_unpacked */

                case 5:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4817; /* *mask_gather_loadvnx2sfvnx2di_sxtw_unpacked */

                case 6:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4819; /* *mask_gather_loadvnx2divnx2di_sxtw_unpacked */

                case 7:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4821; /* *mask_gather_loadvnx2dfvnx2di_sxtw_unpacked */

                case 8:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4823; /* *mask_gather_loadvnx2qivnx2di_sxtw */

                case 9:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4824; /* *mask_gather_loadvnx2hivnx2di_sxtw */

                case 10:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4825; /* *mask_gather_loadvnx2hfvnx2di_sxtw */

                case 11:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4826; /* *mask_gather_loadvnx2bfvnx2di_sxtw */

                case 12:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4827; /* *mask_gather_loadvnx2sivnx2di_sxtw */

                case 13:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4828; /* *mask_gather_loadvnx2sfvnx2di_sxtw */

                case 14:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4829; /* *mask_gather_loadvnx2divnx2di_sxtw */

                case 15:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4830; /* *mask_gather_loadvnx2dfvnx2di_sxtw */

                case 16:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4808; /* *mask_gather_loadvnx2qivnx2di_uxtw_unpacked */

                case 17:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4810; /* *mask_gather_loadvnx2hivnx2di_uxtw_unpacked */

                case 18:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4812; /* *mask_gather_loadvnx2hfvnx2di_uxtw_unpacked */

                case 19:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4814; /* *mask_gather_loadvnx2bfvnx2di_uxtw_unpacked */

                case 20:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4816; /* *mask_gather_loadvnx2sivnx2di_uxtw_unpacked */

                case 21:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4818; /* *mask_gather_loadvnx2sfvnx2di_uxtw_unpacked */

                case 22:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4820; /* *mask_gather_loadvnx2divnx2di_uxtw_unpacked */

                case 23:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4822; /* *mask_gather_loadvnx2dfvnx2di_uxtw_unpacked */

                default:
                  return -1;
                }

            case AND:
              if (pattern759 (x10) != 0)
                return -1;
              switch (pattern894 (x2))
                {
                case 0:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4831; /* *mask_gather_loadvnx2qivnx2di_uxtw */

                case 1:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4832; /* *mask_gather_loadvnx2hivnx2di_uxtw */

                case 2:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4833; /* *mask_gather_loadvnx2hfvnx2di_uxtw */

                case 3:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4834; /* *mask_gather_loadvnx2bfvnx2di_uxtw */

                case 4:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4835; /* *mask_gather_loadvnx2sivnx2di_uxtw */

                case 5:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4836; /* *mask_gather_loadvnx2sfvnx2di_uxtw */

                case 6:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4837; /* *mask_gather_loadvnx2divnx2di_uxtw */

                case 7:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4838; /* *mask_gather_loadvnx2dfvnx2di_uxtw */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 116:
          return recog_393 (x1, insn, pnum_clobbers);

        default:
          return -1;
        }

    case 7:
      if (XINT (x2, 1) != 114
          || pattern154 (x1) != 0)
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[5] = x4;
      x8 = XVECEXP (x2, 0, 1);
      operands[1] = x8;
      x5 = XVECEXP (x2, 0, 3);
      operands[3] = x5;
      if (!const_int_operand (operands[3], E_DImode))
        return -1;
      x9 = XVECEXP (x2, 0, 4);
      operands[4] = x9;
      x10 = XVECEXP (x2, 0, 2);
      switch (GET_CODE (x10))
        {
        case REG:
        case SUBREG:
          operands[2] = x10;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SImode:
              if (pattern818 (x2, E_VNx4SImode, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 1713 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4905; /* aarch64_ldff1_gathervnx4si */

            case E_VNx4SFmode:
              if (pattern818 (x2, E_VNx4SFmode, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 1713 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4906; /* aarch64_ldff1_gathervnx4sf */

            case E_VNx2DImode:
              if (pattern819 (x2, E_VNx2DImode) != 0
                  || !
#line 1736 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4907; /* aarch64_ldff1_gathervnx2di */

            case E_VNx2DFmode:
              if (pattern819 (x2, E_VNx2DFmode) != 0
                  || !
#line 1736 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4908; /* aarch64_ldff1_gathervnx2df */

            default:
              return -1;
            }

        case UNSPEC:
          if (pattern280 (x10) != 0
              || !register_operand (operands[5], E_VNx2BImode)
              || !register_operand (operands[1], E_DImode))
            return -1;
          x11 = XVECEXP (x10, 0, 0);
          operands[6] = x11;
          x12 = XVECEXP (x10, 0, 1);
          x13 = XEXP (x12, 0);
          x14 = XEXP (x13, 0);
          operands[2] = x14;
          if (!register_operand (operands[2], E_VNx2DImode))
            return -1;
          switch (pattern926 (x2))
            {
            case 0:
              if (!
#line 1761 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4909; /* *aarch64_ldff1_gathervnx2di_sxtw */

            case 1:
              if (!
#line 1761 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4910; /* *aarch64_ldff1_gathervnx2df_sxtw */

            default:
              return -1;
            }

        case AND:
          if (pattern759 (x10) != 0)
            return -1;
          switch (pattern926 (x2))
            {
            case 0:
              if (!
#line 1785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4911; /* *aarch64_ldff1_gathervnx2di_uxtw */

            case 1:
              if (!
#line 1785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4912; /* *aarch64_ldff1_gathervnx2df_uxtw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 5:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x8 = XVECEXP (x2, 0, 1);
      operands[5] = x8;
      if (!aarch64_sve_gp_strictness (operands[5], E_SImode))
        return -1;
      x10 = XVECEXP (x2, 0, 2);
      operands[2] = x10;
      x5 = XVECEXP (x2, 0, 3);
      operands[3] = x5;
      x9 = XVECEXP (x2, 0, 4);
      operands[4] = x9;
      switch (XINT (x2, 1))
        {
        case 356:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7408; /* aarch64_pred_fmavnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7412; /* aarch64_pred_fmavnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7416; /* aarch64_pred_fmavnx2df */

            default:
              return -1;
            }

        case 357:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7409; /* aarch64_pred_fnmavnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7413; /* aarch64_pred_fnmavnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7417; /* aarch64_pred_fnmavnx2df */

            default:
              return -1;
            }

        case 361:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7410; /* aarch64_pred_fnmsvnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7414; /* aarch64_pred_fnmsvnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7418; /* aarch64_pred_fnmsvnx2df */

            default:
              return -1;
            }

        case 362:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7411; /* aarch64_pred_fmsvnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7415; /* aarch64_pred_fmsvnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7419; /* aarch64_pred_fmsvnx2df */

            default:
              return -1;
            }

        case 340:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7498; /* aarch64_pred_fcmlavnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7502; /* aarch64_pred_fcmlavnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7506; /* aarch64_pred_fcmlavnx2df */

            default:
              return -1;
            }

        case 341:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7499; /* aarch64_pred_fcmla90vnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7503; /* aarch64_pred_fcmla90vnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7507; /* aarch64_pred_fcmla90vnx2df */

            default:
              return -1;
            }

        case 342:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7500; /* aarch64_pred_fcmla180vnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7504; /* aarch64_pred_fcmla180vnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7508; /* aarch64_pred_fcmla180vnx2df */

            default:
              return -1;
            }

        case 343:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern678 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7501; /* aarch64_pred_fcmla270vnx8hf */

            case E_VNx4SFmode:
              if (pattern678 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7505; /* aarch64_pred_fcmla270vnx4sf */

            case E_VNx2DFmode:
              if (pattern678 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7509; /* aarch64_pred_fcmla270vnx2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_415 (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 (GET_CODE (x2))
    {
    case LABEL_REF:
      x3 = XEXP (x1, 0);
      if (GET_CODE (x3) == PC)
        {
          x4 = XEXP (x2, 0);
          operands[0] = x4;
          return 2; /* jump */
        }
      break;

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
      switch (GET_CODE (x2))
        {
        case CONST_VECTOR:
        case CONST:
        case REG:
        case SUBREG:
        case MEM:
          res = recog_3 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case CONST_INT:
          res = recog_4 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      operands[1] = x2;
      if (aarch64_movti_operand (operands[1], E_TImode))
        {
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          if (nonimmediate_operand (operands[0], E_TImode)
              && 
#line 1402 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], TImode)
    || aarch64_reg_or_zero (operands[1], TImode))))
            return 58; /* *movti_aarch64 */
        }
      break;

    default:
      break;
    }
  operands[1] = x2;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8QImode:
      if (register_operand (operands[0], E_VNx8QImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8QImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx8QImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx8QImode)))))
        return 4477; /* *aarch64_sve_movvnx8qi_no_ldr_str */
      break;

    case E_VNx4QImode:
      if (register_operand (operands[0], E_VNx4QImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4QImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx4QImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx4QImode)))))
        return 4478; /* *aarch64_sve_movvnx4qi_no_ldr_str */
      break;

    case E_VNx2QImode:
      if (register_operand (operands[0], E_VNx2QImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2QImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2QImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2QImode)))))
        return 4479; /* *aarch64_sve_movvnx2qi_no_ldr_str */
      break;

    case E_VNx8HImode:
      if (register_operand (operands[0], E_VNx8HImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8HImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx8HImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx8HImode)))))
        return 4480; /* *aarch64_sve_movvnx8hi_no_ldr_str */
      break;

    case E_VNx4HImode:
      if (register_operand (operands[0], E_VNx4HImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4HImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx4HImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx4HImode)))))
        return 4481; /* *aarch64_sve_movvnx4hi_no_ldr_str */
      break;

    case E_VNx2HImode:
      if (register_operand (operands[0], E_VNx2HImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2HImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2HImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2HImode)))))
        return 4482; /* *aarch64_sve_movvnx2hi_no_ldr_str */
      break;

    case E_VNx8HFmode:
      if (register_operand (operands[0], E_VNx8HFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8HFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx8HFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx8HFmode)))))
        return 4483; /* *aarch64_sve_movvnx8hf_no_ldr_str */
      break;

    case E_VNx4HFmode:
      if (register_operand (operands[0], E_VNx4HFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4HFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx4HFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx4HFmode)))))
        return 4484; /* *aarch64_sve_movvnx4hf_no_ldr_str */
      break;

    case E_VNx2HFmode:
      if (register_operand (operands[0], E_VNx2HFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2HFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2HFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2HFmode)))))
        return 4485; /* *aarch64_sve_movvnx2hf_no_ldr_str */
      break;

    case E_VNx8BFmode:
      if (register_operand (operands[0], E_VNx8BFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8BFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx8BFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx8BFmode)))))
        return 4486; /* *aarch64_sve_movvnx8bf_no_ldr_str */
      break;

    case E_VNx4BFmode:
      if (register_operand (operands[0], E_VNx4BFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4BFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx4BFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx4BFmode)))))
        return 4487; /* *aarch64_sve_movvnx4bf_no_ldr_str */
      break;

    case E_VNx2BFmode:
      if (register_operand (operands[0], E_VNx2BFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2BFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2BFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2BFmode)))))
        return 4488; /* *aarch64_sve_movvnx2bf_no_ldr_str */
      break;

    case E_VNx4SImode:
      if (register_operand (operands[0], E_VNx4SImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4SImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx4SImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx4SImode)))))
        return 4489; /* *aarch64_sve_movvnx4si_no_ldr_str */
      break;

    case E_VNx2SImode:
      if (register_operand (operands[0], E_VNx2SImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2SImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2SImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2SImode)))))
        return 4490; /* *aarch64_sve_movvnx2si_no_ldr_str */
      break;

    case E_VNx4SFmode:
      if (register_operand (operands[0], E_VNx4SFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4SFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx4SFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx4SFmode)))))
        return 4491; /* *aarch64_sve_movvnx4sf_no_ldr_str */
      break;

    case E_VNx2SFmode:
      if (register_operand (operands[0], E_VNx2SFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2SFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2SFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2SFmode)))))
        return 4492; /* *aarch64_sve_movvnx2sf_no_ldr_str */
      break;

    case E_VNx2DImode:
      if (register_operand (operands[0], E_VNx2DImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2DImode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2DImode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2DImode)))))
        return 4493; /* *aarch64_sve_movvnx2di_no_ldr_str */
      break;

    case E_VNx2DFmode:
      if (register_operand (operands[0], E_VNx2DFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx2DFmode)
          && 
#line 710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && VNx2DFmode != VNx16QImode
   && (BYTES_BIG_ENDIAN
       || maybe_ne (BYTES_PER_SVE_VECTOR, GET_MODE_SIZE (VNx2DFmode)))))
        return 4494; /* *aarch64_sve_movvnx2df_no_ldr_str */
      break;

    case E_VNx32QImode:
      if (register_operand (operands[0], E_VNx32QImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx32QImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4576; /* *aarch64_sve_movvnx32qi_be */
      break;

    case E_VNx16HImode:
      if (register_operand (operands[0], E_VNx16HImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx16HImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4577; /* *aarch64_sve_movvnx16hi_be */
      break;

    case E_VNx8SImode:
      if (register_operand (operands[0], E_VNx8SImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8SImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4578; /* *aarch64_sve_movvnx8si_be */
      break;

    case E_VNx4DImode:
      if (register_operand (operands[0], E_VNx4DImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4DImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4579; /* *aarch64_sve_movvnx4di_be */
      break;

    case E_VNx16BFmode:
      if (register_operand (operands[0], E_VNx16BFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx16BFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4580; /* *aarch64_sve_movvnx16bf_be */
      break;

    case E_VNx16HFmode:
      if (register_operand (operands[0], E_VNx16HFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx16HFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4581; /* *aarch64_sve_movvnx16hf_be */
      break;

    case E_VNx8SFmode:
      if (register_operand (operands[0], E_VNx8SFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8SFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4582; /* *aarch64_sve_movvnx8sf_be */
      break;

    case E_VNx4DFmode:
      if (register_operand (operands[0], E_VNx4DFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx4DFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4583; /* *aarch64_sve_movvnx4df_be */
      break;

    case E_VNx48QImode:
      if (register_operand (operands[0], E_VNx48QImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx48QImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4584; /* *aarch64_sve_movvnx48qi_be */
      break;

    case E_VNx24HImode:
      if (register_operand (operands[0], E_VNx24HImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx24HImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4585; /* *aarch64_sve_movvnx24hi_be */
      break;

    case E_VNx12SImode:
      if (register_operand (operands[0], E_VNx12SImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx12SImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4586; /* *aarch64_sve_movvnx12si_be */
      break;

    case E_VNx6DImode:
      if (register_operand (operands[0], E_VNx6DImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx6DImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4587; /* *aarch64_sve_movvnx6di_be */
      break;

    case E_VNx24BFmode:
      if (register_operand (operands[0], E_VNx24BFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx24BFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4588; /* *aarch64_sve_movvnx24bf_be */
      break;

    case E_VNx24HFmode:
      if (register_operand (operands[0], E_VNx24HFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx24HFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4589; /* *aarch64_sve_movvnx24hf_be */
      break;

    case E_VNx12SFmode:
      if (register_operand (operands[0], E_VNx12SFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx12SFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4590; /* *aarch64_sve_movvnx12sf_be */
      break;

    case E_VNx6DFmode:
      if (register_operand (operands[0], E_VNx6DFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx6DFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4591; /* *aarch64_sve_movvnx6df_be */
      break;

    case E_VNx64QImode:
      if (register_operand (operands[0], E_VNx64QImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx64QImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4592; /* *aarch64_sve_movvnx64qi_be */
      break;

    case E_VNx32HImode:
      if (register_operand (operands[0], E_VNx32HImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx32HImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4593; /* *aarch64_sve_movvnx32hi_be */
      break;

    case E_VNx16SImode:
      if (register_operand (operands[0], E_VNx16SImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx16SImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4594; /* *aarch64_sve_movvnx16si_be */
      break;

    case E_VNx8DImode:
      if (register_operand (operands[0], E_VNx8DImode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8DImode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4595; /* *aarch64_sve_movvnx8di_be */
      break;

    case E_VNx32BFmode:
      if (register_operand (operands[0], E_VNx32BFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx32BFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4596; /* *aarch64_sve_movvnx32bf_be */
      break;

    case E_VNx32HFmode:
      if (register_operand (operands[0], E_VNx32HFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx32HFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4597; /* *aarch64_sve_movvnx32hf_be */
      break;

    case E_VNx16SFmode:
      if (register_operand (operands[0], E_VNx16SFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx16SFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4598; /* *aarch64_sve_movvnx16sf_be */
      break;

    case E_VNx8DFmode:
      if (register_operand (operands[0], E_VNx8DFmode)
          && aarch64_nonmemory_operand (operands[1], E_VNx8DFmode)
          && 
#line 862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4599; /* *aarch64_sve_movvnx8df_be */
      break;

    case E_VNx16BImode:
      if (nonimmediate_operand (operands[0], E_VNx16BImode)
          && aarch64_mov_operand (operands[1], E_VNx16BImode)
          && 
#line 954 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16BImode)
       || register_operand (operands[1], VNx16BImode))))
        return 4624; /* *aarch64_sve_movvnx16bi */
      break;

    case E_VNx8BImode:
      if (nonimmediate_operand (operands[0], E_VNx8BImode)
          && aarch64_mov_operand (operands[1], E_VNx8BImode)
          && 
#line 954 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8BImode)
       || register_operand (operands[1], VNx8BImode))))
        return 4625; /* *aarch64_sve_movvnx8bi */
      break;

    case E_VNx4BImode:
      if (nonimmediate_operand (operands[0], E_VNx4BImode)
          && aarch64_mov_operand (operands[1], E_VNx4BImode)
          && 
#line 954 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4BImode)
       || register_operand (operands[1], VNx4BImode))))
        return 4626; /* *aarch64_sve_movvnx4bi */
      break;

    case E_VNx2BImode:
      if (nonimmediate_operand (operands[0], E_VNx2BImode)
          && aarch64_mov_operand (operands[1], E_VNx2BImode)
          && 
#line 954 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2BImode)
       || register_operand (operands[1], VNx2BImode))))
        return 4627; /* *aarch64_sve_movvnx2bi */
      break;

    default:
      break;
    }
  if (GET_CODE (x2) == REG
      && GET_MODE (x2) == E_VNx16BImode)
    {
      switch (REGNO (x2))
        {
        case 84:
          if (GET_CODE (x3) == REG
              && REGNO (x3) == 85
              && GET_MODE (x3) == E_VNx16BImode
              && 
#line 1115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 4638; /* aarch64_copy_ffr_to_ffrt */
          break;

        case 85:
          operands[0] = x3;
          if (register_operand (operands[0], E_VNx16BImode)
              && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 4639; /* aarch64_rdffr */
          break;

        default:
          break;
        }
    }
  operands[1] = x2;
  return recog_35 (x1, insn, pnum_clobbers);
}

static int
recog_416 (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:
      x5 = XEXP (x3, 2);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_HFmode:
              if (pattern339 (x3, E_HFmode) != 0
                  || !(
#line 6137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
                return -1;
              return 901; /* *aarch64_fmahf4 */

            case E_SFmode:
              if (pattern339 (x3, E_SFmode) != 0
                  || !
#line 6137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 902; /* *aarch64_fmasf4 */

            case E_DFmode:
              if (pattern339 (x3, E_DFmode) != 0
                  || !
#line 6137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 903; /* *aarch64_fmadf4 */

            case E_V4HFmode:
              if (pattern340 (x3, E_V4HFmode) != 0
                  || !(
#line 2875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2143; /* fmav4hf4 */

            case E_V8HFmode:
              if (pattern340 (x3, E_V8HFmode) != 0
                  || !(
#line 2875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2144; /* fmav8hf4 */

            case E_V2SFmode:
              if (pattern340 (x3, E_V2SFmode) != 0
                  || !
#line 2875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2145; /* fmav2sf4 */

            case E_V4SFmode:
              if (pattern340 (x3, E_V4SFmode) != 0
                  || !
#line 2875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2146; /* fmav4sf4 */

            case E_V2DFmode:
              if (pattern340 (x3, E_V2DFmode) != 0
                  || !
#line 2875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2147; /* fmav2df4 */

            default:
              return -1;
            }

        case NEG:
          operands[2] = x4;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_SFmode:
              if (pattern524 (x3, E_SFmode) != 0
                  || !
#line 6176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 907; /* *aarch64_fmssf4 */

            case E_DFmode:
              if (pattern524 (x3, E_DFmode) != 0
                  || !
#line 6176 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 908; /* *aarch64_fmsdf4 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          x5 = XEXP (x3, 2);
          switch (GET_CODE (x5))
            {
            case REG:
            case SUBREG:
              switch (GET_MODE (operands[0]))
                {
                case E_HFmode:
                  if (pattern440 (x3, E_HFmode) != 0
                      || !(
#line 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
                    return -1;
                  return 904; /* *aarch64_fnmahf4 */

                case E_SFmode:
                  if (pattern440 (x3, E_SFmode) != 0
                      || !
#line 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 905; /* *aarch64_fnmasf4 */

                case E_DFmode:
                  if (pattern440 (x3, E_DFmode) != 0
                      || !
#line 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 906; /* *aarch64_fnmadf4 */

                case E_V4HFmode:
                  if (pattern441 (x3, E_V4HFmode) != 0
                      || !(
#line 2948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2163; /* fnmav4hf4 */

                case E_V8HFmode:
                  if (pattern441 (x3, E_V8HFmode) != 0
                      || !(
#line 2948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2164; /* fnmav8hf4 */

                case E_V2SFmode:
                  if (pattern441 (x3, E_V2SFmode) != 0
                      || !
#line 2948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2165; /* fnmav2sf4 */

                case E_V4SFmode:
                  if (pattern441 (x3, E_V4SFmode) != 0
                      || !
#line 2948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2166; /* fnmav4sf4 */

                case E_V2DFmode:
                  if (pattern441 (x3, E_V2DFmode) != 0
                      || !
#line 2948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2167; /* fnmav2df4 */

                default:
                  return -1;
                }

            case NEG:
              x8 = XEXP (x4, 0);
              operands[2] = x8;
              operands[3] = x6;
              x7 = XEXP (x5, 0);
              operands[1] = x7;
              switch (GET_MODE (operands[0]))
                {
                case E_SFmode:
                  if (pattern591 (x3, E_SFmode) != 0
                      || !
#line 6194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 909; /* *aarch64_fnmssf4 */

                case E_DFmode:
                  if (pattern591 (x3, E_DFmode) != 0
                      || !
#line 6194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 910; /* *aarch64_fnmsdf4 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_DUPLICATE:
          x9 = XEXP (x6, 0);
          switch (GET_CODE (x9))
            {
            case VEC_SELECT:
              x10 = XEXP (x9, 1);
              if (GET_CODE (x10) != PARALLEL
                  || XVECLEN (x10, 0) != 1)
                return -1;
              x8 = XEXP (x4, 0);
              operands[3] = x8;
              x11 = XEXP (x9, 0);
              operands[1] = x11;
              x12 = XVECEXP (x10, 0, 0);
              operands[2] = x12;
              if (!immediate_operand (operands[2], E_SImode))
                return -1;
              x5 = XEXP (x3, 2);
              operands[4] = x5;
              switch (GET_MODE (operands[0]))
                {
                case E_V2SFmode:
                  if (pattern763 (x3, E_V2SFmode) != 0)
                    return -1;
                  switch (GET_MODE (operands[1]))
                    {
                    case E_V2SFmode:
                      if (!register_operand (operands[1], E_V2SFmode)
                          || !
#line 2963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2168; /* *aarch64_fnma4_eltv2sf */

                    case E_V4SFmode:
                      if (!register_operand (operands[1], E_V4SFmode)
                          || !
#line 2981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2171; /* *aarch64_fnma4_elt_to_128v2sf */

                    default:
                      return -1;
                    }

                case E_V4SFmode:
                  if (pattern763 (x3, E_V4SFmode) != 0)
                    return -1;
                  switch (GET_MODE (operands[1]))
                    {
                    case E_V4SFmode:
                      if (!register_operand (operands[1], E_V4SFmode)
                          || !
#line 2963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2169; /* *aarch64_fnma4_eltv4sf */

                    case E_V2SFmode:
                      if (!register_operand (operands[1], E_V2SFmode)
                          || !
#line 2981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2172; /* *aarch64_fnma4_elt_to_64v4sf */

                    default:
                      return -1;
                    }

                case E_V2DFmode:
                  if (!register_operand (operands[0], E_V2DFmode)
                      || GET_MODE (x3) != E_V2DFmode
                      || GET_MODE (x4) != E_V2DFmode
                      || !register_operand (operands[3], E_V2DFmode)
                      || GET_MODE (x6) != E_V2DFmode
                      || GET_MODE (x9) != E_DFmode
                      || !register_operand (operands[1], E_V2DFmode)
                      || !register_operand (operands[4], E_V2DFmode)
                      || !
#line 2963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2170; /* *aarch64_fnma4_eltv2df */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              operands[1] = x9;
              x8 = XEXP (x4, 0);
              operands[2] = x8;
              x5 = XEXP (x3, 2);
              operands[3] = x5;
              switch (GET_MODE (operands[0]))
                {
                case E_V4HImode:
                  if (pattern592 (x3, E_V4HImode, E_HImode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2173; /* *aarch64_fnma4_elt_from_dupv4hi */

                case E_V8HImode:
                  if (pattern592 (x3, E_V8HImode, E_HImode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2174; /* *aarch64_fnma4_elt_from_dupv8hi */

                case E_V2SImode:
                  if (pattern592 (x3, E_V2SImode, E_SImode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2175; /* *aarch64_fnma4_elt_from_dupv2si */

                case E_V4SImode:
                  if (pattern592 (x3, E_V4SImode, E_SImode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2176; /* *aarch64_fnma4_elt_from_dupv4si */

                case E_V4HFmode:
                  if (pattern592 (x3, E_V4HFmode, E_HFmode) != 0
                      || !(
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2177; /* *aarch64_fnma4_elt_from_dupv4hf */

                case E_V8HFmode:
                  if (pattern592 (x3, E_V8HFmode, E_HFmode) != 0
                      || !(
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2178; /* *aarch64_fnma4_elt_from_dupv8hf */

                case E_V2SFmode:
                  if (pattern592 (x3, E_V2SFmode, E_SFmode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2179; /* *aarch64_fnma4_elt_from_dupv2sf */

                case E_V4SFmode:
                  if (pattern592 (x3, E_V4SFmode, E_SFmode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2180; /* *aarch64_fnma4_elt_from_dupv4sf */

                case E_V2DFmode:
                  if (pattern592 (x3, E_V2DFmode, E_DFmode) != 0
                      || !
#line 2997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2181; /* *aarch64_fnma4_elt_from_dupv2df */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x8 = XEXP (x4, 0);
      switch (GET_CODE (x8))
        {
        case VEC_SELECT:
          x13 = XEXP (x8, 1);
          if (GET_CODE (x13) != PARALLEL
              || XVECLEN (x13, 0) != 1)
            return -1;
          x14 = XEXP (x8, 0);
          operands[1] = x14;
          x15 = XVECEXP (x13, 0, 0);
          operands[2] = x15;
          if (!immediate_operand (operands[2], E_SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          x5 = XEXP (x3, 2);
          operands[4] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_V2SFmode:
              if (pattern716 (x3, E_V2SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V2SFmode:
                  if (!register_operand (operands[1], E_V2SFmode)
                      || !
#line 2889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2148; /* *aarch64_fma4_eltv2sf */

                case E_V4SFmode:
                  if (!register_operand (operands[1], E_V4SFmode)
                      || !
#line 2906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2151; /* *aarch64_fma4_elt_to_128v2sf */

                default:
                  return -1;
                }

            case E_V4SFmode:
              if (pattern716 (x3, E_V4SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4SFmode:
                  if (!register_operand (operands[1], E_V4SFmode)
                      || !
#line 2889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2149; /* *aarch64_fma4_eltv4sf */

                case E_V2SFmode:
                  if (!register_operand (operands[1], E_V2SFmode)
                      || !
#line 2906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2152; /* *aarch64_fma4_elt_to_64v4sf */

                default:
                  return -1;
                }

            case E_V2DFmode:
              if (!register_operand (operands[0], E_V2DFmode)
                  || GET_MODE (x3) != E_V2DFmode
                  || GET_MODE (x4) != E_V2DFmode
                  || GET_MODE (x8) != E_DFmode
                  || !register_operand (operands[1], E_V2DFmode)
                  || !register_operand (operands[3], E_V2DFmode)
                  || !register_operand (operands[4], E_V2DFmode)
                  || !
#line 2889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2150; /* *aarch64_fma4_eltv2df */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[1] = x8;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          x5 = XEXP (x3, 2);
          operands[3] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern525 (x3, E_V4HImode, E_HImode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2153; /* *aarch64_fma4_elt_from_dupv4hi */

            case E_V8HImode:
              if (pattern525 (x3, E_V8HImode, E_HImode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2154; /* *aarch64_fma4_elt_from_dupv8hi */

            case E_V2SImode:
              if (pattern525 (x3, E_V2SImode, E_SImode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2155; /* *aarch64_fma4_elt_from_dupv2si */

            case E_V4SImode:
              if (pattern525 (x3, E_V4SImode, E_SImode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2156; /* *aarch64_fma4_elt_from_dupv4si */

            case E_V4HFmode:
              if (pattern525 (x3, E_V4HFmode, E_HFmode) != 0
                  || !(
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2157; /* *aarch64_fma4_elt_from_dupv4hf */

            case E_V8HFmode:
              if (pattern525 (x3, E_V8HFmode, E_HFmode) != 0
                  || !(
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2158; /* *aarch64_fma4_elt_from_dupv8hf */

            case E_V2SFmode:
              if (pattern525 (x3, E_V2SFmode, E_SFmode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2159; /* *aarch64_fma4_elt_from_dupv2sf */

            case E_V4SFmode:
              if (pattern525 (x3, E_V4SFmode, E_SFmode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2160; /* *aarch64_fma4_elt_from_dupv4sf */

            case E_V2DFmode:
              if (pattern525 (x3, E_V2DFmode, E_DFmode) != 0
                  || !
#line 2921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2161; /* *aarch64_fma4_elt_from_dupv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern55 (x3) != 0)
        return -1;
      x5 = XEXP (x3, 2);
      operands[4] = x5;
      if (!register_operand (operands[4], E_DFmode))
        return -1;
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[3] = x6;
          if (!register_operand (operands[3], E_DFmode)
              || !
#line 2934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2162; /* *aarch64_fma4_elt_to_64v2df */

        case NEG:
          if (GET_MODE (x6) != E_DFmode)
            return -1;
          x9 = XEXP (x6, 0);
          operands[3] = x9;
          if (!register_operand (operands[3], E_DFmode)
              || !
#line 3011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2182; /* *aarch64_fnma4_elt_to_64v2df */

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      return recog_401 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_417 (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 VEC_SELECT:
      return recog_403 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_CODE (operands[1]))
        {
        case REG:
        case SUBREG:
          res = recog_402 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case MEM:
          switch (GET_MODE (operands[0]))
            {
            case E_V8QImode:
              if (register_operand (operands[0], E_V8QImode)
                  && GET_MODE (x3) == E_V8QImode
                  && aarch64_simd_struct_operand (operands[1], E_QImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4177; /* *aarch64_simd_ld1rv8qi */
              break;

            case E_V16QImode:
              if (register_operand (operands[0], E_V16QImode)
                  && GET_MODE (x3) == E_V16QImode
                  && aarch64_simd_struct_operand (operands[1], E_QImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4178; /* *aarch64_simd_ld1rv16qi */
              break;

            case E_V4HImode:
              if (register_operand (operands[0], E_V4HImode)
                  && GET_MODE (x3) == E_V4HImode
                  && aarch64_simd_struct_operand (operands[1], E_HImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4179; /* *aarch64_simd_ld1rv4hi */
              break;

            case E_V8HImode:
              if (register_operand (operands[0], E_V8HImode)
                  && GET_MODE (x3) == E_V8HImode
                  && aarch64_simd_struct_operand (operands[1], E_HImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4180; /* *aarch64_simd_ld1rv8hi */
              break;

            case E_V2SImode:
              if (register_operand (operands[0], E_V2SImode)
                  && GET_MODE (x3) == E_V2SImode
                  && aarch64_simd_struct_operand (operands[1], E_SImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4181; /* *aarch64_simd_ld1rv2si */
              break;

            case E_V4SImode:
              if (register_operand (operands[0], E_V4SImode)
                  && GET_MODE (x3) == E_V4SImode
                  && aarch64_simd_struct_operand (operands[1], E_SImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4182; /* *aarch64_simd_ld1rv4si */
              break;

            case E_V2DImode:
              if (register_operand (operands[0], E_V2DImode)
                  && GET_MODE (x3) == E_V2DImode
                  && aarch64_simd_struct_operand (operands[1], E_DImode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4183; /* *aarch64_simd_ld1rv2di */
              break;

            case E_V4HFmode:
              if (register_operand (operands[0], E_V4HFmode)
                  && GET_MODE (x3) == E_V4HFmode
                  && aarch64_simd_struct_operand (operands[1], E_HFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4184; /* *aarch64_simd_ld1rv4hf */
              break;

            case E_V8HFmode:
              if (register_operand (operands[0], E_V8HFmode)
                  && GET_MODE (x3) == E_V8HFmode
                  && aarch64_simd_struct_operand (operands[1], E_HFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4185; /* *aarch64_simd_ld1rv8hf */
              break;

            case E_V4BFmode:
              if (register_operand (operands[0], E_V4BFmode)
                  && GET_MODE (x3) == E_V4BFmode
                  && aarch64_simd_struct_operand (operands[1], E_BFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4186; /* *aarch64_simd_ld1rv4bf */
              break;

            case E_V8BFmode:
              if (register_operand (operands[0], E_V8BFmode)
                  && GET_MODE (x3) == E_V8BFmode
                  && aarch64_simd_struct_operand (operands[1], E_BFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4187; /* *aarch64_simd_ld1rv8bf */
              break;

            case E_V2SFmode:
              if (register_operand (operands[0], E_V2SFmode)
                  && GET_MODE (x3) == E_V2SFmode
                  && aarch64_simd_struct_operand (operands[1], E_SFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4188; /* *aarch64_simd_ld1rv2sf */
              break;

            case E_V4SFmode:
              if (register_operand (operands[0], E_V4SFmode)
                  && GET_MODE (x3) == E_V4SFmode
                  && aarch64_simd_struct_operand (operands[1], E_SFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4189; /* *aarch64_simd_ld1rv4sf */
              break;

            case E_V2DFmode:
              if (register_operand (operands[0], E_V2DFmode)
                  && GET_MODE (x3) == E_V2DFmode
                  && aarch64_simd_struct_operand (operands[1], E_DFmode)
                  && 
#line 7946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4190; /* *aarch64_simd_ld1rv2df */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (pnum_clobbers == NULL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (!register_operand (operands[0], E_VNx16QImode)
              || GET_MODE (x3) != E_VNx16QImode
              || !aarch64_sve_dup_operand (operands[1], E_QImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5069; /* *vec_duplicatevnx16qi_reg */

        case E_VNx8QImode:
          if (!register_operand (operands[0], E_VNx8QImode)
              || GET_MODE (x3) != E_VNx8QImode
              || !aarch64_sve_dup_operand (operands[1], E_QImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5070; /* *vec_duplicatevnx8qi_reg */

        case E_VNx4QImode:
          if (!register_operand (operands[0], E_VNx4QImode)
              || GET_MODE (x3) != E_VNx4QImode
              || !aarch64_sve_dup_operand (operands[1], E_QImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5071; /* *vec_duplicatevnx4qi_reg */

        case E_VNx2QImode:
          if (!register_operand (operands[0], E_VNx2QImode)
              || GET_MODE (x3) != E_VNx2QImode
              || !aarch64_sve_dup_operand (operands[1], E_QImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5072; /* *vec_duplicatevnx2qi_reg */

        case E_VNx8HImode:
          if (!register_operand (operands[0], E_VNx8HImode)
              || GET_MODE (x3) != E_VNx8HImode
              || !aarch64_sve_dup_operand (operands[1], E_HImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5073; /* *vec_duplicatevnx8hi_reg */

        case E_VNx4HImode:
          if (!register_operand (operands[0], E_VNx4HImode)
              || GET_MODE (x3) != E_VNx4HImode
              || !aarch64_sve_dup_operand (operands[1], E_HImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5074; /* *vec_duplicatevnx4hi_reg */

        case E_VNx2HImode:
          if (!register_operand (operands[0], E_VNx2HImode)
              || GET_MODE (x3) != E_VNx2HImode
              || !aarch64_sve_dup_operand (operands[1], E_HImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5075; /* *vec_duplicatevnx2hi_reg */

        case E_VNx8HFmode:
          if (!register_operand (operands[0], E_VNx8HFmode)
              || GET_MODE (x3) != E_VNx8HFmode
              || !aarch64_sve_dup_operand (operands[1], E_HFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5076; /* *vec_duplicatevnx8hf_reg */

        case E_VNx4HFmode:
          if (!register_operand (operands[0], E_VNx4HFmode)
              || GET_MODE (x3) != E_VNx4HFmode
              || !aarch64_sve_dup_operand (operands[1], E_HFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5077; /* *vec_duplicatevnx4hf_reg */

        case E_VNx2HFmode:
          if (!register_operand (operands[0], E_VNx2HFmode)
              || GET_MODE (x3) != E_VNx2HFmode
              || !aarch64_sve_dup_operand (operands[1], E_HFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5078; /* *vec_duplicatevnx2hf_reg */

        case E_VNx8BFmode:
          if (!register_operand (operands[0], E_VNx8BFmode)
              || GET_MODE (x3) != E_VNx8BFmode
              || !aarch64_sve_dup_operand (operands[1], E_BFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5079; /* *vec_duplicatevnx8bf_reg */

        case E_VNx4BFmode:
          if (!register_operand (operands[0], E_VNx4BFmode)
              || GET_MODE (x3) != E_VNx4BFmode
              || !aarch64_sve_dup_operand (operands[1], E_BFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5080; /* *vec_duplicatevnx4bf_reg */

        case E_VNx2BFmode:
          if (!register_operand (operands[0], E_VNx2BFmode)
              || GET_MODE (x3) != E_VNx2BFmode
              || !aarch64_sve_dup_operand (operands[1], E_BFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5081; /* *vec_duplicatevnx2bf_reg */

        case E_VNx4SImode:
          if (!register_operand (operands[0], E_VNx4SImode)
              || GET_MODE (x3) != E_VNx4SImode
              || !aarch64_sve_dup_operand (operands[1], E_SImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5082; /* *vec_duplicatevnx4si_reg */

        case E_VNx2SImode:
          if (!register_operand (operands[0], E_VNx2SImode)
              || GET_MODE (x3) != E_VNx2SImode
              || !aarch64_sve_dup_operand (operands[1], E_SImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5083; /* *vec_duplicatevnx2si_reg */

        case E_VNx4SFmode:
          if (!register_operand (operands[0], E_VNx4SFmode)
              || GET_MODE (x3) != E_VNx4SFmode
              || !aarch64_sve_dup_operand (operands[1], E_SFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5084; /* *vec_duplicatevnx4sf_reg */

        case E_VNx2SFmode:
          if (!register_operand (operands[0], E_VNx2SFmode)
              || GET_MODE (x3) != E_VNx2SFmode
              || !aarch64_sve_dup_operand (operands[1], E_SFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5085; /* *vec_duplicatevnx2sf_reg */

        case E_VNx2DImode:
          if (!register_operand (operands[0], E_VNx2DImode)
              || GET_MODE (x3) != E_VNx2DImode
              || !aarch64_sve_dup_operand (operands[1], E_DImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5086; /* *vec_duplicatevnx2di_reg */

        case E_VNx2DFmode:
          if (!register_operand (operands[0], E_VNx2DFmode)
              || GET_MODE (x3) != E_VNx2DFmode
              || !aarch64_sve_dup_operand (operands[1], E_DFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5087; /* *vec_duplicatevnx2df_reg */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_418 (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);
  switch (XVECLEN (x2, 0))
    {
    case 2:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      switch (XINT (x2, 1))
        {
        case 6:
          if (GET_MODE (x2) != E_DImode
              || !register_operand (operands[0], E_DImode))
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], E_DImode))
            return -1;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], E_DImode))
            return -1;
          return 1066; /* probe_stack_range */

        case 7:
          x5 = XVECEXP (x2, 0, 1);
          if (GET_CODE (x5) != USE)
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x6 = XEXP (x5, 0);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern527 (x2, E_QImode) != 0)
                return -1;
              return 1095; /* despeculate_simpleqi */

            case E_HImode:
              if (pattern527 (x2, E_HImode) != 0)
                return -1;
              return 1096; /* despeculate_simplehi */

            case E_SImode:
              if (pattern527 (x2, E_SImode) != 0)
                return -1;
              return 1097; /* despeculate_simplesi */

            case E_DImode:
              if (pattern528 (x2, E_DImode) != 0)
                return -1;
              return 1098; /* despeculate_simpledi */

            case E_TImode:
              if (pattern528 (x2, E_TImode) != 0)
                return -1;
              return 1099; /* despeculate_simpleti */

            default:
              return -1;
            }

        case 25:
          if (pnum_clobbers == NULL)
            return -1;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_SImode))
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          switch (GET_CODE (x4))
            {
            case PLUS:
              switch (pattern530 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4346; /* aarch64_atomic_addqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4351; /* aarch64_atomic_addhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4356; /* aarch64_atomic_addsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4361; /* aarch64_atomic_adddi */

                default:
                  return -1;
                }

            case MINUS:
              switch (pattern530 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4347; /* aarch64_atomic_subqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4352; /* aarch64_atomic_subhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4357; /* aarch64_atomic_subsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4362; /* aarch64_atomic_subdi */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern532 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4348; /* aarch64_atomic_orqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4353; /* aarch64_atomic_orhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4358; /* aarch64_atomic_orsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4363; /* aarch64_atomic_ordi */

                default:
                  return -1;
                }

            case XOR:
              switch (pattern532 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4349; /* aarch64_atomic_xorqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4354; /* aarch64_atomic_xorhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4359; /* aarch64_atomic_xorsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4364; /* aarch64_atomic_xordi */

                default:
                  return -1;
                }

            case AND:
              switch (pattern532 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4350; /* aarch64_atomic_andqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4355; /* aarch64_atomic_andhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4360; /* aarch64_atomic_andsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4365; /* aarch64_atomic_anddi */

                default:
                  return -1;
                }

            case NOT:
              x7 = XEXP (x4, 0);
              if (GET_CODE (x7) != AND)
                return -1;
              x8 = XEXP (x7, 1);
              operands[1] = x8;
              x9 = XEXP (x7, 0);
              if (!rtx_equal_p (x9, operands[0]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_QImode:
                  if (pattern719 (x2, E_QImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4382; /* atomic_nandqi */

                case E_HImode:
                  if (pattern719 (x2, E_HImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4383; /* atomic_nandhi */

                case E_SImode:
                  if (pattern719 (x2, E_SImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4384; /* atomic_nandsi */

                case E_DImode:
                  if (pattern719 (x2, E_DImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4385; /* atomic_nanddi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 19:
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (!register_operand (operands[0], E_QImode)
                  || GET_MODE (x2) != E_QImode
                  || !aarch64_sync_memory_operand (operands[1], E_QImode))
                return -1;
              return 4450; /* atomic_loadqi */

            case E_HImode:
              if (!register_operand (operands[0], E_HImode)
                  || GET_MODE (x2) != E_HImode
                  || !aarch64_sync_memory_operand (operands[1], E_HImode))
                return -1;
              return 4451; /* atomic_loadhi */

            case E_SImode:
              if (!register_operand (operands[0], E_SImode)
                  || GET_MODE (x2) != E_SImode
                  || !aarch64_sync_memory_operand (operands[1], E_SImode))
                return -1;
              return 4452; /* atomic_loadsi */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode)
                  || GET_MODE (x2) != E_DImode
                  || !aarch64_sync_memory_operand (operands[1], E_DImode))
                return -1;
              return 4453; /* atomic_loaddi */

            default:
              return -1;
            }

        case 20:
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (!aarch64_rcpc_memory_operand (operands[0], E_QImode)
                  || GET_MODE (x2) != E_QImode
                  || !general_operand (operands[1], E_QImode))
                return -1;
              return 4454; /* atomic_storeqi */

            case E_HImode:
              if (!aarch64_rcpc_memory_operand (operands[0], E_HImode)
                  || GET_MODE (x2) != E_HImode
                  || !general_operand (operands[1], E_HImode))
                return -1;
              return 4455; /* atomic_storehi */

            case E_SImode:
              if (!aarch64_rcpc_memory_operand (operands[0], E_SImode)
                  || GET_MODE (x2) != E_SImode
                  || !general_operand (operands[1], E_SImode))
                return -1;
              return 4456; /* atomic_storesi */

            case E_DImode:
              if (!aarch64_rcpc_memory_operand (operands[0], E_DImode)
                  || GET_MODE (x2) != E_DImode
                  || !general_operand (operands[1], E_DImode))
                return -1;
              return 4457; /* atomic_storedi */

            default:
              return -1;
            }

        case 17:
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (!register_operand (operands[0], E_SImode)
                  || GET_MODE (x2) != E_SImode
                  || !aarch64_sync_memory_operand (operands[1], E_SImode))
                return -1;
              return 4460; /* aarch64_load_exclusivesi */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode)
                  || GET_MODE (x2) != E_DImode
                  || !aarch64_sync_memory_operand (operands[1], E_DImode))
                return -1;
              return 4461; /* aarch64_load_exclusivedi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (XINT (x2, 1))
        {
        case 6:
          x10 = XVECEXP (x2, 0, 2);
          operands[3] = x10;
          x11 = XVECEXP (x2, 0, 3);
          operands[4] = x11;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern593 (x2, E_SImode) != 0
                  || !(
#line 7172 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return -1;
              return 1067; /* probe_sve_stack_clash_si */

            case E_DImode:
              if (pattern593 (x2, E_DImode) != 0
                  || !(
#line 7172 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return -1;
              return 1068; /* probe_sve_stack_clash_di */

            default:
              return -1;
            }

        case 7:
          x10 = XVECEXP (x2, 0, 2);
          if (GET_CODE (x10) != USE)
            return -1;
          x12 = XEXP (x10, 0);
          if (GET_CODE (x12) != REG
              || REGNO (x12) != 15
              || GET_MODE (x12) != E_DImode)
            return -1;
          x11 = XVECEXP (x2, 0, 3);
          if (GET_CODE (x11) != CLOBBER)
            return -1;
          x13 = XEXP (x11, 0);
          if (GET_CODE (x13) != REG
              || REGNO (x13) != 66
              || GET_MODE (x13) != E_CCmode)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern820 (x2, E_QImode) != 0)
                return -1;
              return 1090; /* *despeculate_copyqi_insn */

            case E_HImode:
              if (pattern820 (x2, E_HImode) != 0)
                return -1;
              return 1091; /* *despeculate_copyhi_insn */

            case E_SImode:
              if (pattern820 (x2, E_SImode) != 0)
                return -1;
              return 1092; /* *despeculate_copysi_insn */

            case E_DImode:
              if (pattern820 (x2, E_DImode) != 0)
                return -1;
              return 1093; /* *despeculate_copydi_insn */

            case E_TImode:
              if (pattern820 (x2, E_TImode) != 0)
                return -1;
              return 1094; /* *despeculate_copyti_insn */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 1:
      switch (XINT (x2, 1))
        {
        case 3:
          switch (pattern160 (x1))
            {
            case 0:
              return 1079; /* aarch64_get_fpsrsi */

            case 1:
              return 1081; /* aarch64_get_fpsrdi */

            default:
              return -1;
            }

        case 1:
          switch (pattern160 (x1))
            {
            case 0:
              return 1080; /* aarch64_get_fpcrsi */

            case 1:
              return 1082; /* aarch64_get_fpcrdi */

            default:
              return -1;
            }

        case 51:
          if (GET_MODE (x2) != E_V8DImode)
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          if (GET_CODE (x4) != MEM
              || GET_MODE (x4) != E_V8DImode)
            return -1;
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          if (!register_operand (operands[0], E_V8DImode))
            return -1;
          x7 = XEXP (x4, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], E_DImode)
              || !
#line 7669 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1132; /* ld64b */

        case 52:
          if (GET_MODE (x2) != E_V8DImode)
            return -1;
          x3 = XEXP (x1, 0);
          if (GET_CODE (x3) != MEM
              || GET_MODE (x3) != E_V8DImode)
            return -1;
          x14 = XEXP (x3, 0);
          operands[0] = x14;
          if (!register_operand (operands[0], E_DImode))
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], E_V8DImode)
              || !
#line 7679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1133; /* st64b */

        default:
          return -1;
        }

    case 3:
      if (pnum_clobbers == NULL)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x5 = XVECEXP (x2, 0, 1);
      operands[1] = x5;
      x10 = XVECEXP (x2, 0, 2);
      operands[2] = x10;
      if (!const_int_operand (operands[2], E_SImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x4, operands[0]))
        return -1;
      switch (XINT (x2, 1))
        {
        case 26:
          switch (pattern594 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4366; /* aarch64_atomic_iorqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4370; /* aarch64_atomic_iorhi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4374; /* aarch64_atomic_iorsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4378; /* aarch64_atomic_iordi_lse */

            default:
              return -1;
            }

        case 27:
          switch (pattern594 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4367; /* aarch64_atomic_bicqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4371; /* aarch64_atomic_bichi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4375; /* aarch64_atomic_bicsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4379; /* aarch64_atomic_bicdi_lse */

            default:
              return -1;
            }

        case 28:
          switch (pattern594 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4368; /* aarch64_atomic_xorqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4372; /* aarch64_atomic_xorhi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4376; /* aarch64_atomic_xorsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4380; /* aarch64_atomic_xordi_lse */

            default:
              return -1;
            }

        case 29:
          switch (pattern594 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4369; /* aarch64_atomic_addqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4373; /* aarch64_atomic_addhi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4377; /* aarch64_atomic_addsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4381; /* aarch64_atomic_adddi_lse */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_419 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      switch (pattern269 (x3))
        {
        case 0:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2755; /* aarch64_sqaddv8qi */

        case 1:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2759; /* aarch64_sqaddv16qi */

        case 2:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2763; /* aarch64_sqaddv4hi */

        case 3:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2767; /* aarch64_sqaddv8hi */

        case 4:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2771; /* aarch64_sqaddv2si */

        case 5:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2775; /* aarch64_sqaddv4si */

        case 6:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2779; /* aarch64_sqaddv2di */

        case 7:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2783; /* aarch64_sqaddqi */

        case 8:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2787; /* aarch64_sqaddhi */

        case 9:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2791; /* aarch64_sqaddsi */

        case 10:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2795; /* aarch64_sqadddi */

        case 11:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6486; /* aarch64_sve_ssaddvnx16qi */

        case 12:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6488; /* aarch64_sve_ssaddvnx8hi */

        case 13:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6490; /* aarch64_sve_ssaddvnx4si */

        case 14:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6492; /* aarch64_sve_ssaddvnx2di */

        default:
          return -1;
        }

    case SS_ASHIFT:
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != MULT)
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != SIGN_EXTEND)
        return -1;
      x7 = XEXP (x4, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x8 = XEXP (x3, 1);
      operands[1] = x8;
      x9 = XEXP (x6, 0);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
          operands[2] = x9;
          x10 = XEXP (x5, 1);
          switch (GET_CODE (x10))
            {
            case SIGN_EXTEND:
              x11 = XEXP (x10, 0);
              switch (GET_CODE (x11))
                {
                case REG:
                case SUBREG:
                  operands[3] = x11;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern767 (x3, E_V4SImode, E_V4HImode) != 0
                          || !
#line 5380 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2968; /* aarch64_sqdmlalv4hi */

                    case E_V2DImode:
                      if (pattern767 (x3, E_V2DImode, E_V2SImode) != 0
                          || !
#line 5380 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2969; /* aarch64_sqdmlalv2si */

                    case E_SImode:
                      if (pattern767 (x3, E_SImode, E_HImode) != 0
                          || !
#line 5380 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2970; /* aarch64_sqdmlalhi */

                    case E_DImode:
                      if (pattern767 (x3, E_DImode, E_SImode) != 0
                          || !
#line 5380 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2971; /* aarch64_sqdmlalsi */

                    default:
                      return -1;
                    }

                case VEC_SELECT:
                  x12 = XEXP (x11, 1);
                  if (GET_CODE (x12) != PARALLEL
                      || XVECLEN (x12, 0) != 1)
                    return -1;
                  x13 = XEXP (x11, 0);
                  operands[3] = x13;
                  x14 = XVECEXP (x12, 0, 0);
                  operands[4] = x14;
                  if (!immediate_operand (operands[4], E_SImode))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_SImode:
                      if (pattern859 (x3, E_SImode, E_HImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V4HImode:
                          if (!register_operand (operands[3], E_V4HImode)
                              || !
#line 5515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2984; /* aarch64_sqdmlal_lanehi */

                        case E_V8HImode:
                          if (!register_operand (operands[3], E_V8HImode)
                              || !
#line 5562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2988; /* aarch64_sqdmlal_laneqhi */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      if (pattern859 (x3, E_DImode, E_SImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V2SImode:
                          if (!register_operand (operands[3], E_V2SImode)
                              || !
#line 5515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2985; /* aarch64_sqdmlal_lanesi */

                        case E_V4SImode:
                          if (!register_operand (operands[3], E_V4SImode)
                              || !
#line 5562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2989; /* aarch64_sqdmlal_laneqsi */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern641 (x11))
                {
                case 0:
                  x13 = XEXP (x11, 0);
                  x15 = XEXP (x13, 0);
                  operands[3] = x15;
                  x16 = XEXP (x13, 1);
                  x17 = XVECEXP (x16, 0, 0);
                  operands[4] = x17;
                  if (!immediate_operand (operands[4], E_SImode))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern876 (x3, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern928 (x10))
                        {
                        case 0:
                          if (!
#line 5418 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2976; /* aarch64_sqdmlal_lanev4hi */

                        case 1:
                          if (!
#line 5491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2982; /* aarch64_sqdmlal_laneqv4hi */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern876 (x3, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern929 (x10))
                        {
                        case 0:
                          if (!
#line 5418 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2977; /* aarch64_sqdmlal_lanev2si */

                        case 1:
                          if (!
#line 5491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2983; /* aarch64_sqdmlal_laneqv2si */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case 1:
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern792 (x3, E_V4SImode, E_HImode, E_SImode, E_V4HImode) != 0
                          || !
#line 5625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2994; /* aarch64_sqdmlal_nv4hi */

                    case E_V2DImode:
                      if (pattern792 (x3, E_V2DImode, E_SImode, E_DImode, E_V2SImode) != 0
                          || !
#line 5625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2995; /* aarch64_sqdmlal_nv2si */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x18 = XEXP (x9, 0);
          operands[2] = x18;
          x10 = XEXP (x5, 1);
          switch (GET_CODE (x10))
            {
            case SIGN_EXTEND:
              x11 = XEXP (x10, 0);
              if (GET_CODE (x11) != VEC_SELECT)
                return -1;
              x19 = XEXP (x9, 1);
              operands[4] = x19;
              x13 = XEXP (x11, 0);
              operands[3] = x13;
              x12 = XEXP (x11, 1);
              if (!rtx_equal_p (x12, operands[4]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern821 (x3, E_V4SImode, E_V8HImode, E_V4HImode) != 0
                      || !
#line 5648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2996; /* aarch64_sqdmlal2v8hi_internal */

                case E_V2DImode:
                  if (pattern821 (x3, E_V2DImode, E_V4SImode, E_V2SImode) != 0
                      || !
#line 5648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2997; /* aarch64_sqdmlal2v4si_internal */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern641 (x11))
                {
                case 0:
                  x19 = XEXP (x9, 1);
                  operands[5] = x19;
                  x13 = XEXP (x11, 0);
                  x15 = XEXP (x13, 0);
                  operands[3] = x15;
                  x16 = XEXP (x13, 1);
                  x17 = XVECEXP (x16, 0, 0);
                  operands[4] = x17;
                  if (!immediate_operand (operands[4], E_SImode))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern885 (x3, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern928 (x10))
                        {
                        case 0:
                          if (!
#line 5734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3002; /* aarch64_sqdmlal2_lanev8hi_internal */

                        case 1:
                          if (!
#line 5786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3006; /* aarch64_sqdmlal2_laneqv8hi_internal */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern885 (x3, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern929 (x10))
                        {
                        case 0:
                          if (!
#line 5734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3003; /* aarch64_sqdmlal2_lanev4si_internal */

                        case 1:
                          if (!
#line 5786 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3007; /* aarch64_sqdmlal2_laneqv4si_internal */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case 1:
                  x19 = XEXP (x9, 1);
                  operands[4] = x19;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern822 (x3, E_V4SImode, E_HImode, E_SImode, E_V8HImode, E_V4HImode) != 0
                          || !
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3010; /* aarch64_sqdmlal2_nv8hi_internal */

                    case E_V2DImode:
                      if (pattern822 (x3, E_V2DImode, E_SImode, E_DImode, E_V4SImode, E_V2SImode) != 0
                          || !
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3011; /* aarch64_sqdmlal2_nv4si_internal */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern163 (x3))
        {
        case 0:
          if (!
#line 9847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8977; /* aarch64_sve_sqincdi_pat */

        case 1:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9011; /* *aarch64_sve_sqincdivnx16bi_cntp */

        case 2:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9014; /* *aarch64_sve_sqincdivnx8bi_cntp */

        case 3:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9017; /* *aarch64_sve_sqincdivnx4bi_cntp */

        case 4:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9020; /* *aarch64_sve_sqincdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern167 (x3))
        {
        case 0:
          if (!
#line 9912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8983; /* aarch64_sve_sqincvnx2di_pat */

        case 1:
          if (!
#line 10289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9035; /* *aarch64_sve_sqincvnx2di_cntp */

        case 2:
          if (!
#line 9933 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8986; /* aarch64_sve_sqincvnx4si_pat */

        case 3:
          if (!
#line 10328 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9038; /* *aarch64_sve_sqincvnx4si_cntp */

        case 4:
          if (!
#line 9968 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8989; /* *aarch64_sve_sqincvnx8hi_pat */

        case 5:
          if (!
#line 10369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9041; /* *aarch64_sve_sqincvnx8hi_cntp */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2)
        return -1;
      x20 = XVECEXP (x4, 0, 0);
      operands[2] = x20;
      x8 = XEXP (x3, 1);
      operands[1] = x8;
      switch (XINT (x4, 1))
        {
        case 465:
          switch (pattern301 (x3))
            {
            case 0:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9607; /* aarch64_sve_qadd_sqdmullbvnx8hi */

            case 1:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9610; /* aarch64_sve_qadd_sqdmullbvnx4si */

            case 2:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9613; /* aarch64_sve_qadd_sqdmullbvnx2di */

            case 3:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9616; /* aarch64_sve_qadd_sqdmullb_lane_vnx4si */

            case 4:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9618; /* aarch64_sve_qadd_sqdmullb_lane_vnx2di */

            default:
              return -1;
            }

        case 466:
          x21 = XVECEXP (x4, 0, 1);
          operands[3] = x21;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern295 (x3, E_VNx8HImode, E_VNx16QImode) != 0
                  || !
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9608; /* aarch64_sve_qadd_sqdmullbtvnx8hi */

            case E_VNx4SImode:
              if (pattern295 (x3, E_VNx4SImode, E_VNx8HImode) != 0
                  || !
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9611; /* aarch64_sve_qadd_sqdmullbtvnx4si */

            case E_VNx2DImode:
              if (pattern295 (x3, E_VNx2DImode, E_VNx4SImode) != 0
                  || !
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9614; /* aarch64_sve_qadd_sqdmullbtvnx2di */

            default:
              return -1;
            }

        case 467:
          switch (pattern301 (x3))
            {
            case 0:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9609; /* aarch64_sve_qadd_sqdmulltvnx8hi */

            case 1:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9612; /* aarch64_sve_qadd_sqdmulltvnx4si */

            case 2:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9615; /* aarch64_sve_qadd_sqdmulltvnx2di */

            case 3:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9617; /* aarch64_sve_qadd_sqdmullt_lane_vnx4si */

            case 4:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9619; /* aarch64_sve_qadd_sqdmullt_lane_vnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_420 (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);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
      switch (pattern269 (x3))
        {
        case 0:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2757; /* aarch64_sqsubv8qi */

        case 1:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2761; /* aarch64_sqsubv16qi */

        case 2:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2765; /* aarch64_sqsubv4hi */

        case 3:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2769; /* aarch64_sqsubv8hi */

        case 4:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2773; /* aarch64_sqsubv2si */

        case 5:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2777; /* aarch64_sqsubv4si */

        case 6:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2781; /* aarch64_sqsubv2di */

        case 7:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2785; /* aarch64_sqsubqi */

        case 8:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2789; /* aarch64_sqsubhi */

        case 9:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2793; /* aarch64_sqsubsi */

        case 10:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2797; /* aarch64_sqsubdi */

        case 11:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6487; /* aarch64_sve_sssubvnx16qi */

        case 12:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6489; /* aarch64_sve_sssubvnx8hi */

        case 13:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6491; /* aarch64_sve_sssubvnx4si */

        case 14:
          if (!
#line 4161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6493; /* aarch64_sve_sssubvnx2di */

        default:
          return -1;
        }

    case SS_ASHIFT:
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != MULT)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != SIGN_EXTEND)
        return -1;
      x8 = XEXP (x5, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x9 = XEXP (x7, 0);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
          operands[2] = x9;
          x10 = XEXP (x6, 1);
          switch (GET_CODE (x10))
            {
            case SIGN_EXTEND:
              x11 = XEXP (x10, 0);
              switch (GET_CODE (x11))
                {
                case REG:
                case SUBREG:
                  operands[3] = x11;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern768 (x3, E_V4HImode, E_V4SImode) != 0
                          || !
#line 5396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2972; /* aarch64_sqdmlslv4hi */

                    case E_V2DImode:
                      if (pattern768 (x3, E_V2SImode, E_V2DImode) != 0
                          || !
#line 5396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2973; /* aarch64_sqdmlslv2si */

                    case E_SImode:
                      if (pattern768 (x3, E_HImode, E_SImode) != 0
                          || !
#line 5396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2974; /* aarch64_sqdmlslhi */

                    case E_DImode:
                      if (pattern768 (x3, E_SImode, E_DImode) != 0
                          || !
#line 5396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2975; /* aarch64_sqdmlslsi */

                    default:
                      return -1;
                    }

                case VEC_SELECT:
                  x12 = XEXP (x11, 1);
                  if (GET_CODE (x12) != PARALLEL
                      || XVECLEN (x12, 0) != 1)
                    return -1;
                  x13 = XEXP (x11, 0);
                  operands[3] = x13;
                  x14 = XVECEXP (x12, 0, 0);
                  operands[4] = x14;
                  if (!immediate_operand (operands[4], E_SImode))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_SImode:
                      if (pattern860 (x3, E_HImode, E_SImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V4HImode:
                          if (!register_operand (operands[3], E_V4HImode)
                              || !
#line 5538 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2986; /* aarch64_sqdmlsl_lanehi */

                        case E_V8HImode:
                          if (!register_operand (operands[3], E_V8HImode)
                              || !
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2990; /* aarch64_sqdmlsl_laneqhi */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      if (pattern860 (x3, E_SImode, E_DImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V2SImode:
                          if (!register_operand (operands[3], E_V2SImode)
                              || !
#line 5538 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2987; /* aarch64_sqdmlsl_lanesi */

                        case E_V4SImode:
                          if (!register_operand (operands[3], E_V4SImode)
                              || !
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2991; /* aarch64_sqdmlsl_laneqsi */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern642 (x11))
                {
                case 0:
                  x13 = XEXP (x11, 0);
                  x15 = XEXP (x13, 0);
                  operands[3] = x15;
                  x16 = XEXP (x13, 1);
                  x17 = XVECEXP (x16, 0, 0);
                  operands[4] = x17;
                  if (!immediate_operand (operands[4], E_SImode))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern877 (x3, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern935 (x10))
                        {
                        case 0:
                          if (!
#line 5442 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2978; /* aarch64_sqdmlsl_lanev4hi */

                        case 1:
                          if (!
#line 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2980; /* aarch64_sqdmlsl_laneqv4hi */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern877 (x3, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern936 (x10))
                        {
                        case 0:
                          if (!
#line 5442 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2979; /* aarch64_sqdmlsl_lanev2si */

                        case 1:
                          if (!
#line 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 2981; /* aarch64_sqdmlsl_laneqv2si */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case 1:
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern793 (x3, E_HImode, E_SImode, E_V4SImode, E_V4HImode) != 0
                          || !
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2992; /* aarch64_sqdmlsl_nv4hi */

                    case E_V2DImode:
                      if (pattern793 (x3, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0
                          || !
#line 5608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2993; /* aarch64_sqdmlsl_nv2si */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          x18 = XEXP (x9, 0);
          operands[2] = x18;
          x10 = XEXP (x6, 1);
          switch (GET_CODE (x10))
            {
            case SIGN_EXTEND:
              x11 = XEXP (x10, 0);
              if (GET_CODE (x11) != VEC_SELECT)
                return -1;
              x19 = XEXP (x9, 1);
              operands[4] = x19;
              x13 = XEXP (x11, 0);
              operands[3] = x13;
              x12 = XEXP (x11, 1);
              if (!rtx_equal_p (x12, operands[4]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern823 (x3, E_V8HImode, E_V4HImode, E_V4SImode) != 0
                      || !
#line 5668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2998; /* aarch64_sqdmlsl2v8hi_internal */

                case E_V2DImode:
                  if (pattern823 (x3, E_V4SImode, E_V2SImode, E_V2DImode) != 0
                      || !
#line 5668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2999; /* aarch64_sqdmlsl2v4si_internal */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern642 (x11))
                {
                case 0:
                  x19 = XEXP (x9, 1);
                  operands[5] = x19;
                  x13 = XEXP (x11, 0);
                  x15 = XEXP (x13, 0);
                  operands[3] = x15;
                  x16 = XEXP (x13, 1);
                  x17 = XVECEXP (x16, 0, 0);
                  operands[4] = x17;
                  if (!immediate_operand (operands[4], E_SImode))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern886 (x3, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern935 (x10))
                        {
                        case 0:
                          if (!
#line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3000; /* aarch64_sqdmlsl2_lanev8hi_internal */

                        case 1:
                          if (!
#line 5760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3004; /* aarch64_sqdmlsl2_laneqv8hi_internal */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern886 (x3, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern936 (x10))
                        {
                        case 0:
                          if (!
#line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3001; /* aarch64_sqdmlsl2_lanev4si_internal */

                        case 1:
                          if (!
#line 5760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3005; /* aarch64_sqdmlsl2_laneqv4si_internal */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case 1:
                  x19 = XEXP (x9, 1);
                  operands[4] = x19;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern824 (x3, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode) != 0
                          || !
#line 5843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3008; /* aarch64_sqdmlsl2_nv8hi_internal */

                    case E_V2DImode:
                      if (pattern824 (x3, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0
                          || !
#line 5843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3009; /* aarch64_sqdmlsl2_nv4si_internal */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern273 (x3))
        {
        case 0:
          if (!
#line 9997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8992; /* aarch64_sve_sqdecdi_pat */

        case 1:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9044; /* *aarch64_sve_sqdecdivnx16bi_cntp */

        case 2:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9047; /* *aarch64_sve_sqdecdivnx8bi_cntp */

        case 3:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9050; /* *aarch64_sve_sqdecdivnx4bi_cntp */

        case 4:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9053; /* *aarch64_sve_sqdecdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern274 (x3))
        {
        case 0:
          if (!
#line 10062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8998; /* aarch64_sve_sqdecvnx2di_pat */

        case 1:
          if (!
#line 10522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9068; /* *aarch64_sve_sqdecvnx2di_cntp */

        case 2:
          if (!
#line 10083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9001; /* aarch64_sve_sqdecvnx4si_pat */

        case 3:
          if (!
#line 10561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9071; /* *aarch64_sve_sqdecvnx4si_cntp */

        case 4:
          if (!
#line 10118 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9004; /* *aarch64_sve_sqdecvnx8hi_pat */

        case 5:
          if (!
#line 10602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9074; /* *aarch64_sve_sqdecvnx8hi_cntp */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 2)
        return -1;
      x20 = XVECEXP (x5, 0, 0);
      operands[2] = x20;
      switch (XINT (x5, 1))
        {
        case 465:
          switch (pattern403 (x3))
            {
            case 0:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9640; /* aarch64_sve_qsub_sqdmullbvnx8hi */

            case 1:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9643; /* aarch64_sve_qsub_sqdmullbvnx4si */

            case 2:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9646; /* aarch64_sve_qsub_sqdmullbvnx2di */

            case 3:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9649; /* aarch64_sve_qsub_sqdmullb_lane_vnx4si */

            case 4:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9651; /* aarch64_sve_qsub_sqdmullb_lane_vnx2di */

            default:
              return -1;
            }

        case 466:
          switch (pattern401 (x3))
            {
            case 0:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9641; /* aarch64_sve_qsub_sqdmullbtvnx8hi */

            case 1:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9644; /* aarch64_sve_qsub_sqdmullbtvnx4si */

            case 2:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9647; /* aarch64_sve_qsub_sqdmullbtvnx2di */

            default:
              return -1;
            }

        case 467:
          switch (pattern403 (x3))
            {
            case 0:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9642; /* aarch64_sve_qsub_sqdmulltvnx8hi */

            case 1:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9645; /* aarch64_sve_qsub_sqdmulltvnx4si */

            case 2:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9648; /* aarch64_sve_qsub_sqdmulltvnx2di */

            case 3:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9650; /* aarch64_sve_qsub_sqdmullt_lane_vnx4si */

            case 4:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9652; /* aarch64_sve_qsub_sqdmullt_lane_vnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_421 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case AND:
      return recog_41 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern370 (x3, E_SImode) != 0)
            return -1;
          return 501; /* iorsi3 */

        case E_DImode:
          if (pattern370 (x3, E_DImode) != 0)
            return -1;
          return 504; /* iordi3 */

        case E_V8QImode:
          if (pattern371 (x3, E_V8QImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1681; /* iorv8qi3 */

        case E_V16QImode:
          if (pattern371 (x3, E_V16QImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1682; /* iorv16qi3 */

        case E_V4HImode:
          if (pattern371 (x3, E_V4HImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1683; /* iorv4hi3 */

        case E_V8HImode:
          if (pattern371 (x3, E_V8HImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1684; /* iorv8hi3 */

        case E_V2SImode:
          if (pattern371 (x3, E_V2SImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1685; /* iorv2si3 */

        case E_V4SImode:
          if (pattern371 (x3, E_V4SImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1686; /* iorv4si3 */

        case E_V2DImode:
          if (pattern371 (x3, E_V2DImode) != 0
              || !
#line 1004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1687; /* iorv2di3 */

        case E_VNx16QImode:
          if (pattern372 (x3, E_VNx16QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6555; /* iorvnx16qi3 */

        case E_VNx8QImode:
          if (pattern372 (x3, E_VNx8QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6558; /* iorvnx8qi3 */

        case E_VNx4QImode:
          if (pattern372 (x3, E_VNx4QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6561; /* iorvnx4qi3 */

        case E_VNx2QImode:
          if (pattern372 (x3, E_VNx2QImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6564; /* iorvnx2qi3 */

        case E_VNx8HImode:
          if (pattern372 (x3, E_VNx8HImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6567; /* iorvnx8hi3 */

        case E_VNx4HImode:
          if (pattern372 (x3, E_VNx4HImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6570; /* iorvnx4hi3 */

        case E_VNx2HImode:
          if (pattern372 (x3, E_VNx2HImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6573; /* iorvnx2hi3 */

        case E_VNx4SImode:
          if (pattern372 (x3, E_VNx4SImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6576; /* iorvnx4si3 */

        case E_VNx2SImode:
          if (pattern372 (x3, E_VNx2SImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6579; /* iorvnx2si3 */

        case E_VNx2DImode:
          if (pattern372 (x3, E_VNx2DImode) != 0
              || !
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6582; /* iorvnx2di3 */

        default:
          return -1;
        }

    case ASHIFT:
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[1] = x6;
          x5 = XEXP (x3, 1);
          switch (GET_CODE (x5))
            {
            case REG:
            case SUBREG:
            case TRUNCATE:
              operands[3] = x5;
              x7 = XEXP (x4, 1);
              operands[2] = x7;
              switch (pattern39 (x3))
                {
                case 0:
                  return 525; /* *ior_ashlsi3 */

                case 1:
                  return 537; /* *ior_ashldi3 */

                default:
                  break;
                }
              if (!subreg_lowpart_operator (x5, E_SImode))
                return -1;
              operands[6] = x5;
              x8 = XEXP (x5, 0);
              if (GET_CODE (x8) != ZERO_EXTRACT
                  || GET_MODE (x8) != E_DImode
                  || pattern522 (x3, E_SImode) != 0)
                return -1;
              operands[3] = x7;
              if (!const_int_operand (operands[3], E_VOIDmode))
                return -1;
              x9 = XEXP (x8, 0);
              operands[2] = x9;
              if (!register_operand (operands[2], E_DImode))
                return -1;
              x10 = XEXP (x8, 1);
              operands[5] = x10;
              if (!const_int_operand (operands[5], E_VOIDmode))
                return -1;
              x11 = XEXP (x8, 2);
              operands[4] = x11;
              if (!const_int_operand (operands[4], E_VOIDmode)
                  || !
#line 5558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < 32
   && UINTVAL (operands[3]) + UINTVAL (operands[4]) == 32
   && INTVAL (operands[3]) == INTVAL (operands[5])))
                return -1;
              return 733; /* *extrsi5_insn_di */

            case LSHIFTRT:
              x7 = XEXP (x4, 1);
              operands[3] = x7;
              if (!const_int_operand (operands[3], E_VOIDmode))
                return -1;
              x8 = XEXP (x5, 0);
              operands[2] = x8;
              x12 = XEXP (x5, 1);
              operands[4] = x12;
              if (!const_int_operand (operands[4], E_VOIDmode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern703 (x3, E_SImode) != 0
                      || !
#line 5501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < GET_MODE_BITSIZE (SImode) &&
   (UINTVAL (operands[3]) + UINTVAL (operands[4]) == GET_MODE_BITSIZE (SImode))))
                    return -1;
                  return 727; /* *extrsi5_insn */

                case E_DImode:
                  if (pattern703 (x3, E_DImode) != 0
                      || !
#line 5501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < GET_MODE_BITSIZE (DImode) &&
   (UINTVAL (operands[3]) + UINTVAL (operands[4]) == GET_MODE_BITSIZE (DImode))))
                    return -1;
                  return 728; /* *extrdi5_insn */

                default:
                  return -1;
                }

            case AND:
              x7 = XEXP (x4, 1);
              operands[2] = x7;
              x8 = XEXP (x5, 0);
              operands[3] = x8;
              x12 = XEXP (x5, 1);
              operands[4] = x12;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern522 (x3, E_SImode) != 0
                      || !aarch64_simd_shift_imm_si (operands[2], E_SImode)
                      || GET_MODE (x5) != E_SImode
                      || !register_operand (operands[3], E_SImode)
                      || !const_int_operand (operands[4], E_SImode)
                      || !
#line 5798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[4]),
				      UINTVAL (operands[2]),
				      HOST_WIDE_INT_M1U << UINTVAL (operands[2]) )))
                    return -1;
                  return 771; /* *aarch64_bfisi4_noand_alt */

                case E_DImode:
                  if (pattern522 (x3, E_DImode) != 0
                      || !aarch64_simd_shift_imm_di (operands[2], E_DImode)
                      || GET_MODE (x5) != E_DImode
                      || !register_operand (operands[3], E_DImode)
                      || !const_int_operand (operands[4], E_DImode)
                      || !
#line 5798 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[4]),
				      UINTVAL (operands[2]),
				      HOST_WIDE_INT_M1U << UINTVAL (operands[2]) )))
                    return -1;
                  return 772; /* *aarch64_bfidi4_noand_alt */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x6, 0) != 1L)
            return -1;
          x7 = XEXP (x4, 1);
          if (GET_CODE (x7) != AND
              || GET_MODE (x7) != E_QImode)
            return -1;
          x13 = XEXP (x7, 0);
          if (GET_CODE (x13) != LSHIFTRT
              || GET_MODE (x13) != E_DImode)
            return -1;
          x14 = XEXP (x13, 1);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
            return -1;
          x15 = XEXP (x7, 1);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || GET_MODE (x4) != E_DImode)
            return -1;
          x16 = XEXP (x13, 0);
          operands[1] = x16;
          if (!register_operand (operands[1], E_DImode))
            return -1;
          x5 = XEXP (x3, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], E_DImode)
              || !
#line 7598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
            return -1;
          return 1127; /* gmi */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern40 (x3))
        {
        case 0:
          return 528; /* *ior_ashrsi3 */

        case 1:
          return 540; /* *ior_ashrdi3 */

        default:
          return -1;
        }

    case LSHIFTRT:
      x5 = XEXP (x3, 1);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[3] = x5;
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          x7 = XEXP (x4, 1);
          operands[2] = x7;
          switch (pattern39 (x3))
            {
            case 0:
              return 531; /* *ior_lshrsi3 */

            case 1:
              return 543; /* *ior_lshrdi3 */

            default:
              return -1;
            }

        case ASHIFT:
          x6 = XEXP (x4, 0);
          operands[2] = x6;
          x7 = XEXP (x4, 1);
          operands[4] = x7;
          if (!const_int_operand (operands[4], E_VOIDmode))
            return -1;
          x8 = XEXP (x5, 0);
          operands[1] = x8;
          x12 = XEXP (x5, 1);
          operands[3] = x12;
          if (!const_int_operand (operands[3], E_VOIDmode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern659 (x3, E_SImode) != 0
                  || !
#line 5515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < GET_MODE_BITSIZE (SImode)
   && (UINTVAL (operands[3]) + UINTVAL (operands[4])
       == GET_MODE_BITSIZE (SImode))))
                return -1;
              return 729; /* *extrsi5_insn_alt */

            case E_DImode:
              if (pattern659 (x3, E_DImode) != 0
                  || !
#line 5515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < GET_MODE_BITSIZE (DImode)
   && (UINTVAL (operands[3]) + UINTVAL (operands[4])
       == GET_MODE_BITSIZE (DImode))))
                return -1;
              return 730; /* *extrdi5_insn_alt */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern40 (x3))
        {
        case 0:
          return 534; /* *ior_rotrsi3 */

        case 1:
          return 546; /* *ior_rotrdi3 */

        default:
          return -1;
        }

    case ROTATE:
      switch (pattern40 (x3))
        {
        case 0:
          return 549; /* *ior_rolsi3 */

        case 1:
          return 552; /* *ior_roldi3 */

        default:
          return -1;
        }

    case NOT:
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[1] = x6;
          x5 = XEXP (x3, 1);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern464 (x3, E_SImode) != 0)
                return -1;
              return 581; /* *ior_one_cmplsi3 */

            case E_DImode:
              if (pattern464 (x3, E_DImode) != 0)
                return -1;
              return 583; /* *ior_one_cmpldi3 */

            case E_V8QImode:
              if (pattern464 (x3, E_V8QImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1414; /* ornv8qi3 */

            case E_V16QImode:
              if (pattern464 (x3, E_V16QImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1415; /* ornv16qi3 */

            case E_V4HImode:
              if (pattern464 (x3, E_V4HImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1416; /* ornv4hi3 */

            case E_V8HImode:
              if (pattern464 (x3, E_V8HImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1417; /* ornv8hi3 */

            case E_V2SImode:
              if (pattern464 (x3, E_V2SImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1418; /* ornv2si3 */

            case E_V4SImode:
              if (pattern464 (x3, E_V4SImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1419; /* ornv4si3 */

            case E_V2DImode:
              if (pattern464 (x3, E_V2DImode) != 0
                  || !
#line 369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1420; /* ornv2di3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern186 (x3))
            {
            case 0:
              return 595; /* ior_one_cmpl_ashlsi3 */

            case 1:
              return 607; /* ior_one_cmpl_ashldi3 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern186 (x3))
            {
            case 0:
              return 598; /* ior_one_cmpl_ashrsi3 */

            case 1:
              return 610; /* ior_one_cmpl_ashrdi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern186 (x3))
            {
            case 0:
              return 601; /* ior_one_cmpl_lshrsi3 */

            case 1:
              return 613; /* ior_one_cmpl_lshrdi3 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern186 (x3))
            {
            case 0:
              return 604; /* ior_one_cmpl_rotrsi3 */

            case 1:
              return 616; /* ior_one_cmpl_rotrdi3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_422 (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, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 66)
    return -1;
  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:
          operands[0] = x5;
          x6 = XEXP (x4, 1);
          operands[1] = x6;
          x7 = XEXP (x3, 1);
          switch (GET_CODE (x7))
            {
            case REG:
            case SUBREG:
              if (!rtx_equal_p (x7, operands[0]))
                return -1;
              switch (pattern571 (x1, E_CC_Cmode))
                {
                case 0:
                  return 131; /* *addsi3_compareC_cconly */

                case 1:
                  return 132; /* *adddi3_compareC_cconly */

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x7, 0) != 0L)
                return -1;
              switch (pattern571 (x1, E_CC_NZmode))
                {
                case 0:
                  return 203; /* *addsi3nr_compare0 */

                case 1:
                  return 204; /* *adddi3nr_compare0 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern306 (x1, PLUS, SIGN_EXTEND) != 0)
            return -1;
          x6 = XEXP (x4, 1);
          switch (GET_CODE (x6))
            {
            case CONST_INT:
            case CONST_WIDE_INT:
              operands[1] = x6;
              x7 = XEXP (x3, 1);
              x8 = XEXP (x7, 0);
              x9 = XEXP (x8, 1);
              operands[2] = x9;
              switch (GET_MODE (x4))
                {
                case E_DImode:
                  if (pattern810 (x3, E_SImode, E_DImode) != 0
                      || !
#line 2421 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[1]) == INTVAL (operands[2])))
                    return -1;
                  return 135; /* *addsi3_compareV_cconly_imm */

                case E_TImode:
                  if (pattern810 (x3, E_DImode, E_TImode) != 0
                      || !
#line 2421 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[1]) == INTVAL (operands[2])))
                    return -1;
                  return 136; /* *adddi3_compareV_cconly_imm */

                default:
                  return -1;
                }

            case SIGN_EXTEND:
              x10 = XEXP (x6, 0);
              operands[1] = x10;
              x7 = XEXP (x3, 1);
              x8 = XEXP (x7, 0);
              x9 = XEXP (x8, 1);
              if (!rtx_equal_p (x9, operands[1]))
                return -1;
              switch (GET_MODE (x4))
                {
                case E_DImode:
                  if (pattern811 (x3, E_SImode, E_DImode) != 0)
                    return -1;
                  return 137; /* *addsi3_compareV_cconly */

                case E_TImode:
                  if (pattern811 (x3, E_DImode, E_TImode) != 0)
                    return -1;
                  return 138; /* *adddi3_compareV_cconly */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case MINUS:
      x7 = XEXP (x3, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != E_CC_NZmode
          || GET_MODE (x3) != E_CC_NZmode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      x6 = XEXP (x4, 1);
      operands[1] = x6;
      switch (pattern570 (x4))
        {
        case 0:
          return 205; /* aarch64_subsi_compare0 */

        case 1:
          return 206; /* aarch64_subdi_compare0 */

        default:
          return -1;
        }

    case NEG:
      if (GET_MODE (x2) != E_CC_Zmode
          || GET_MODE (x3) != E_CC_Zmode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      x7 = XEXP (x3, 1);
      operands[1] = x7;
      switch (GET_MODE (x4))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || !register_operand (operands[1], E_SImode))
            return -1;
          return 207; /* *compare_negsi */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || !register_operand (operands[1], E_DImode))
            return -1;
          return 208; /* *compare_negdi */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case NEG:
          if (pattern306 (x1, SIGN_EXTEND, NEG) != 0)
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern706 (x3, E_DImode, E_SImode) != 0)
                return -1;
              return 277; /* negvsi_cmp_only */

            case E_TImode:
              if (pattern706 (x3, E_TImode, E_DImode) != 0)
                return -1;
              return 278; /* negvdi_cmp_only */

            default:
              return -1;
            }

        case MINUS:
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) != MINUS)
            return -1;
          x8 = XEXP (x7, 0);
          if (GET_CODE (x8) != SIGN_EXTEND)
            return -1;
          x11 = XEXP (x7, 1);
          if (GET_CODE (x11) != SIGN_EXTEND
              || GET_MODE (x2) != E_CC_Vmode
              || GET_MODE (x3) != E_CC_Vmode)
            return -1;
          x12 = XEXP (x5, 0);
          operands[0] = x12;
          x13 = XEXP (x5, 1);
          operands[1] = x13;
          x14 = XEXP (x8, 0);
          if (!rtx_equal_p (x14, operands[0]))
            return -1;
          x15 = XEXP (x11, 0);
          if (!rtx_equal_p (x15, operands[1]))
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern812 (x3, E_DImode, E_SImode) != 0)
                return -1;
              return 279; /* *cmpvsi_insn */

            case E_TImode:
              if (pattern812 (x3, E_TImode, E_DImode) != 0)
                return -1;
              return 280; /* *cmpvdi_insn */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[0] = x5;
          if (GET_MODE (x2) != E_CC_SWPmode
              || GET_MODE (x3) != E_CC_SWPmode)
            return -1;
          switch (pattern474 (x3))
            {
            case 0:
              return 418; /* *cmp_swp_extendqi_regsi */

            case 1:
              return 422; /* *cmp_swp_extendhi_regsi */

            case 2:
              return 426; /* *cmp_swp_extendsi_regsi */

            case 3:
              return 420; /* *cmp_swp_extendqi_regdi */

            case 4:
              return 424; /* *cmp_swp_extendhi_regdi */

            case 5:
              return 428; /* *cmp_swp_extendsi_regdi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[0] = x4;
      x7 = XEXP (x3, 1);
      operands[1] = x7;
      switch (GET_MODE (x2))
        {
        case E_CCmode:
          if (GET_MODE (x3) == E_CCmode)
            {
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (register_operand (operands[0], E_SImode)
                      && aarch64_plus_operand (operands[1], E_SImode))
                    return 406; /* cmpsi */
                  break;

                case E_DImode:
                  if (register_operand (operands[0], E_DImode)
                      && aarch64_plus_operand (operands[1], E_DImode))
                    return 407; /* cmpdi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_CCFPmode:
          switch (pattern472 (x3, E_CCFPmode))
            {
            case 0:
              if (
#line 3923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 408; /* fcmpsf */
              break;

            case 1:
              if (
#line 3923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 409; /* fcmpdf */
              break;

            default:
              break;
            }
          break;

        case E_CCFPEmode:
          switch (pattern472 (x3, E_CCFPEmode))
            {
            case 0:
              if (
#line 3934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 410; /* fcmpesf */
              break;

            case 1:
              if (
#line 3934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 411; /* fcmpedf */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != E_CC_NZmode
          || GET_MODE (x3) != E_CC_NZmode)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_QImode:
          if (!register_operand (operands[0], E_QImode))
            return -1;
          return 658; /* *andqi_compare0 */

        case E_HImode:
          if (!register_operand (operands[0], E_HImode))
            return -1;
          return 659; /* *andhi_compare0 */

        default:
          return -1;
        }

    case ASHIFT:
      if (GET_MODE (x2) != E_CC_SWPmode
          || GET_MODE (x3) != E_CC_SWPmode)
        return -1;
      x6 = XEXP (x4, 1);
      operands[1] = x6;
      x7 = XEXP (x3, 1);
      operands[2] = x7;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[0] = x5;
          switch (pattern188 (x4))
            {
            case 0:
              return 412; /* *cmp_swp_lsl_regsi */

            case 1:
              return 415; /* *cmp_swp_lsl_regdi */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern573 (x4))
            {
            case 0:
              return 430; /* *cmp_swp_extendqi_shft_si */

            case 1:
              return 434; /* *cmp_swp_extendhi_shft_si */

            case 2:
              return 438; /* *cmp_swp_extendsi_shft_si */

            case 3:
              return 432; /* *cmp_swp_extendqi_shft_di */

            case 4:
              return 436; /* *cmp_swp_extendhi_shft_di */

            case 5:
              return 440; /* *cmp_swp_extendsi_shft_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern573 (x4))
            {
            case 0:
              return 431; /* *cmp_swp_zero_extendqi_shft_si */

            case 1:
              return 435; /* *cmp_swp_zero_extendhi_shft_si */

            case 2:
              return 439; /* *cmp_swp_zero_extendsi_shft_si */

            case 3:
              return 433; /* *cmp_swp_zero_extendqi_shft_di */

            case 4:
              return 437; /* *cmp_swp_zero_extendhi_shft_di */

            case 5:
              return 441; /* *cmp_swp_zero_extendsi_shft_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern189 (x1))
        {
        case 0:
          return 413; /* *cmp_swp_asr_regsi */

        case 1:
          return 416; /* *cmp_swp_asr_regdi */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern189 (x1))
        {
        case 0:
          return 414; /* *cmp_swp_lsr_regsi */

        case 1:
          return 417; /* *cmp_swp_lsr_regdi */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x2) != E_CC_SWPmode
          || GET_MODE (x3) != E_CC_SWPmode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      switch (pattern474 (x3))
        {
        case 0:
          return 419; /* *cmp_swp_zero_extendqi_regsi */

        case 1:
          return 423; /* *cmp_swp_zero_extendhi_regsi */

        case 2:
          return 427; /* *cmp_swp_zero_extendsi_regsi */

        case 3:
          return 421; /* *cmp_swp_zero_extendqi_regdi */

        case 4:
          return 425; /* *cmp_swp_zero_extendhi_regdi */

        case 5:
          return 429; /* *cmp_swp_zero_extendsi_regdi */

        default:
          return -1;
        }

    case AND:
      x7 = XEXP (x3, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != E_CC_NZmode
          || GET_MODE (x3) != E_CC_NZmode)
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case NOT:
          x12 = XEXP (x5, 0);
          switch (GET_CODE (x12))
            {
            case REG:
            case SUBREG:
              operands[0] = x12;
              x6 = XEXP (x4, 1);
              operands[1] = x6;
              switch (GET_MODE (x4))
                {
                case E_SImode:
                  if (GET_MODE (x5) != E_SImode
                      || !register_operand (operands[0], E_SImode)
                      || !register_operand (operands[1], E_SImode))
                    return -1;
                  return 592; /* *and_one_cmplsi3_compare0_no_reuse */

                case E_DImode:
                  if (GET_MODE (x5) != E_DImode
                      || !register_operand (operands[0], E_DImode)
                      || !register_operand (operands[1], E_DImode))
                    return -1;
                  return 593; /* *and_one_cmpldi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ASHIFT:
              switch (pattern574 (x4))
                {
                case 0:
                  return 642; /* *and_one_cmpl_ashlsi3_compare0_no_reuse */

                case 1:
                  return 646; /* *and_one_cmpl_ashldi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern574 (x4))
                {
                case 0:
                  return 643; /* *and_one_cmpl_ashrsi3_compare0_no_reuse */

                case 1:
                  return 647; /* *and_one_cmpl_ashrdi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern574 (x4))
                {
                case 0:
                  return 644; /* *and_one_cmpl_lshrsi3_compare0_no_reuse */

                case 1:
                  return 648; /* *and_one_cmpl_lshrdi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ROTATERT:
              switch (pattern574 (x4))
                {
                case 0:
                  return 645; /* *and_one_cmpl_rotrsi3_compare0_no_reuse */

                case 1:
                  return 649; /* *and_one_cmpl_rotrdi3_compare0_no_reuse */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[0] = x5;
          x6 = XEXP (x4, 1);
          operands[1] = x6;
          switch (GET_MODE (x4))
            {
            case E_SImode:
              if (!register_operand (operands[0], E_SImode)
                  || !aarch64_logical_operand (operands[1], E_SImode))
                return -1;
              return 664; /* *andsi3nr_compare0 */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode)
                  || !aarch64_logical_operand (operands[1], E_DImode))
                return -1;
              return 665; /* *anddi3nr_compare0 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern508 (x4))
            {
            case 0:
              return 668; /* *and_ashlsi3nr_compare0 */

            case 1:
              return 672; /* *and_ashldi3nr_compare0 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern508 (x4))
            {
            case 0:
              return 669; /* *and_ashrsi3nr_compare0 */

            case 1:
              return 673; /* *and_ashrdi3nr_compare0 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern508 (x4))
            {
            case 0:
              return 670; /* *and_lshrsi3nr_compare0 */

            case 1:
              return 674; /* *and_lshrdi3nr_compare0 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern508 (x4))
            {
            case 0:
              return 671; /* *and_rotrsi3nr_compare0 */

            case 1:
              return 675; /* *and_rotrdi3nr_compare0 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      x7 = XEXP (x3, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != E_CC_NZmode
          || GET_MODE (x3) != E_CC_NZmode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      x6 = XEXP (x4, 1);
      operands[1] = x6;
      x16 = XEXP (x4, 2);
      operands[2] = x16;
      switch (GET_MODE (x4))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || !const_int_operand (operands[1], E_SImode)
              || !const_int_operand (operands[2], E_SImode)
              || !
#line 5045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[1]) > 0
   && ((INTVAL (operands[1]) + INTVAL (operands[2]))
	<= GET_MODE_BITSIZE (SImode))
   && aarch64_bitmask_imm (
	UINTVAL (aarch64_mask_from_zextract_ops (operands[1],
						 operands[2])),
	SImode)))
            return -1;
          return 666; /* *andsi3nr_compare0_zextract */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || !const_int_operand (operands[1], E_DImode)
              || !const_int_operand (operands[2], E_DImode)
              || !
#line 5045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[1]) > 0
   && ((INTVAL (operands[1]) + INTVAL (operands[2]))
	<= GET_MODE_BITSIZE (DImode))
   && aarch64_bitmask_imm (
	UINTVAL (aarch64_mask_from_zextract_ops (operands[1],
						 operands[2])),
	DImode)))
            return -1;
          return 667; /* *anddi3nr_compare0_zextract */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_423 (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 CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
      return recog_55 (x1, insn, pnum_clobbers);

    case MINUS:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[2] = x6;
          x7 = XEXP (x3, 1);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern509 (x3, E_SImode) != 0)
                return -1;
              return 334; /* *subsi3_carryin */

            case E_DImode:
              if (pattern509 (x3, E_DImode) != 0)
                return -1;
              return 335; /* *subdi3_carryin */

            default:
              return -1;
            }

        case GEU:
        case LTU:
          operands[3] = x6;
          x7 = XEXP (x3, 1);
          operands[2] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern510 (x3, E_SImode) != 0)
                return -1;
              return 337; /* *subsi3_carryin_alt */

            case E_DImode:
              if (pattern510 (x3, E_DImode) != 0)
                return -1;
              return 338; /* *subdi3_carryin_alt */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      x7 = XEXP (x3, 1);
      operands[1] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern405 (x3, E_SImode) != 0)
            return -1;
          return 356; /* *ngcsi */

        case E_DImode:
          if (pattern405 (x3, E_DImode) != 0)
            return -1;
          return 357; /* *ngcdi */

        default:
          return -1;
        }

    case UMAX:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (GET_CODE (operands[2]))
        {
        case CONST_POLY_INT:
          x7 = XEXP (x3, 1);
          if (!rtx_equal_p (x7, operands[2]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern511 (x3, E_SImode) != 0
                  || !
#line 4427 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE))
                return -1;
              return 488; /* aarch64_uqdecsi */

            case E_DImode:
              if (pattern511 (x3, E_DImode) != 0
                  || !
#line 4427 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE))
                return -1;
              return 489; /* aarch64_uqdecdi */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) != UMIN)
            return -1;
          switch (pattern407 (x3))
            {
            case 0:
              if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1607; /* aarch64_uabdv8qi */

            case 1:
              if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1609; /* aarch64_uabdv16qi */

            case 2:
              if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1611; /* aarch64_uabdv4hi */

            case 3:
              if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1613; /* aarch64_uabdv8hi */

            case 4:
              if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1615; /* aarch64_uabdv2si */

            case 5:
              if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1617; /* aarch64_uabdv4si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      if (GET_MODE (x4) != E_DImode)
        return -1;
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != CONST_INT
          || XWINT (x6, 0) != 72057594037927935L)
        return -1;
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != AND
          || GET_MODE (x7) != E_DImode)
        return -1;
      x8 = XEXP (x7, 1);
      if (GET_CODE (x8) != CONST_INT
          || XWINT (x8, 0) != 72057594037927935L
          || !register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XEXP (x7, 0);
      operands[2] = x9;
      if (!register_operand (operands[2], E_DImode)
          || !
#line 7627 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
        return -1;
      return 1129; /* subp */

    case SMAX:
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != SMIN)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (pattern407 (x3))
        {
        case 0:
          if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1606; /* aarch64_sabdv8qi */

        case 1:
          if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1608; /* aarch64_sabdv16qi */

        case 2:
          if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1610; /* aarch64_sabdv4hi */

        case 3:
          if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1612; /* aarch64_sabdv8hi */

        case 4:
          if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1614; /* aarch64_sabdv2si */

        case 5:
          if (!
#line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1616; /* aarch64_sabdv4si */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern52 (x3, SIGN_EXTEND))
        {
        case 0:
          if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
              && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2575; /* aarch64_ssublv16qi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
              || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2587; /* aarch64_ssublv16qi_lo_internal */

        case 1:
          if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
              && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2579; /* aarch64_ssublv8hi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
              || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2591; /* aarch64_ssublv8hi_lo_internal */

        case 2:
          if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
              && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2583; /* aarch64_ssublv4si_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
              || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2595; /* aarch64_ssublv4si_lo_internal */

        case 3:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2599; /* aarch64_ssublv8qi */

        case 4:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2603; /* aarch64_ssublv4hi */

        case 5:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2607; /* aarch64_ssublv2si */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern52 (x3, ZERO_EXTEND))
        {
        case 0:
          if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
              && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2577; /* aarch64_usublv16qi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
              || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2589; /* aarch64_usublv16qi_lo_internal */

        case 1:
          if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
              && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2581; /* aarch64_usublv8hi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
              || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2593; /* aarch64_usublv8hi_lo_internal */

        case 2:
          if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
              && 
#line 4413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2585; /* aarch64_usublv4si_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
              || !
#line 4426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2597; /* aarch64_usublv4si_lo_internal */

        case 3:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2601; /* aarch64_usublv8qi */

        case 4:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2605; /* aarch64_usublv4hi */

        case 5:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2609; /* aarch64_usublv2si */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 118)
        return -1;
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 2
          || XINT (x7, 1) != 118)
        return -1;
      x10 = XVECEXP (x4, 0, 0);
      operands[1] = x10;
      x11 = XVECEXP (x7, 0, 0);
      if (!rtx_equal_p (x11, operands[1]))
        return -1;
      x12 = XVECEXP (x4, 0, 1);
      switch (GET_CODE (x12))
        {
        case SMAX:
          switch (pattern668 (x3, SMIN))
            {
            case 0:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6406; /* aarch64_pred_sabdvnx16qi */

            case 1:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6408; /* aarch64_pred_sabdvnx8qi */

            case 2:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6410; /* aarch64_pred_sabdvnx4qi */

            case 3:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6412; /* aarch64_pred_sabdvnx2qi */

            case 4:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6414; /* aarch64_pred_sabdvnx8hi */

            case 5:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6416; /* aarch64_pred_sabdvnx4hi */

            case 6:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6418; /* aarch64_pred_sabdvnx2hi */

            case 7:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6420; /* aarch64_pred_sabdvnx4si */

            case 8:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6422; /* aarch64_pred_sabdvnx2si */

            case 9:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6424; /* aarch64_pred_sabdvnx2di */

            default:
              return -1;
            }

        case UMAX:
          switch (pattern668 (x3, UMIN))
            {
            case 0:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6407; /* aarch64_pred_uabdvnx16qi */

            case 1:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6409; /* aarch64_pred_uabdvnx8qi */

            case 2:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6411; /* aarch64_pred_uabdvnx4qi */

            case 3:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6413; /* aarch64_pred_uabdvnx2qi */

            case 4:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6415; /* aarch64_pred_uabdvnx8hi */

            case 5:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6417; /* aarch64_pred_uabdvnx4hi */

            case 6:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6419; /* aarch64_pred_uabdvnx2hi */

            case 7:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6421; /* aarch64_pred_uabdvnx4si */

            case 8:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6423; /* aarch64_pred_uabdvnx2si */

            case 9:
              if (!
#line 4005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6425; /* aarch64_pred_uabdvnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_424 (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);
  if (GET_CODE (x3) != VEC_DUPLICATE)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 2);
  operands[2] = x5;
  if (!immediate_operand (operands[2], E_SImode))
    return -1;
  x6 = XEXP (x3, 0);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x6;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern595 (x2, E_V8QImode, E_QImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1702; /* aarch64_simd_vec_setv8qi */

        case E_V16QImode:
          if (pattern595 (x2, E_V16QImode, E_QImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1703; /* aarch64_simd_vec_setv16qi */

        case E_V4HImode:
          if (pattern595 (x2, E_V4HImode, E_HImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1704; /* aarch64_simd_vec_setv4hi */

        case E_V8HImode:
          if (pattern595 (x2, E_V8HImode, E_HImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1705; /* aarch64_simd_vec_setv8hi */

        case E_V2SImode:
          if (pattern595 (x2, E_V2SImode, E_SImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1706; /* aarch64_simd_vec_setv2si */

        case E_V4SImode:
          if (pattern595 (x2, E_V4SImode, E_SImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1707; /* aarch64_simd_vec_setv4si */

        case E_V2DImode:
          if (pattern595 (x2, E_V2DImode, E_DImode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1708; /* aarch64_simd_vec_setv2di */

        case E_V4HFmode:
          if (pattern595 (x2, E_V4HFmode, E_HFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1709; /* aarch64_simd_vec_setv4hf */

        case E_V8HFmode:
          if (pattern595 (x2, E_V8HFmode, E_HFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1710; /* aarch64_simd_vec_setv8hf */

        case E_V4BFmode:
          if (pattern595 (x2, E_V4BFmode, E_BFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1711; /* aarch64_simd_vec_setv4bf */

        case E_V8BFmode:
          if (pattern595 (x2, E_V8BFmode, E_BFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1712; /* aarch64_simd_vec_setv8bf */

        case E_V2SFmode:
          if (pattern595 (x2, E_V2SFmode, E_SFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1713; /* aarch64_simd_vec_setv2sf */

        case E_V4SFmode:
          if (pattern595 (x2, E_V4SFmode, E_SFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1714; /* aarch64_simd_vec_setv4sf */

        case E_V2DFmode:
          if (pattern595 (x2, E_V2DFmode, E_DFmode) != 0
              || !
#line 1044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1715; /* aarch64_simd_vec_setv2df */

        default:
          return -1;
        }

    case VEC_SELECT:
      x8 = XEXP (x6, 1);
      if (GET_CODE (x8) != PARALLEL
          || XVECLEN (x8, 0) != 1)
        return -1;
      x9 = XEXP (x6, 0);
      operands[3] = x9;
      x10 = XVECEXP (x8, 0, 0);
      operands[4] = x10;
      if (!immediate_operand (operands[4], E_SImode))
        return -1;
      x7 = XEXP (x2, 1);
      operands[1] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern765 (x2, E_V8QImode, E_QImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V8QImode:
              if (!register_operand (operands[3], E_V8QImode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1716; /* aarch64_simd_vec_copy_lanev8qi */

            case E_V16QImode:
              if (!register_operand (operands[3], E_V16QImode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1730; /* *aarch64_simd_vec_copy_lane_to_128v8qi */

            default:
              return -1;
            }

        case E_V16QImode:
          if (pattern765 (x2, E_V16QImode, E_QImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V16QImode:
              if (!register_operand (operands[3], E_V16QImode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1717; /* aarch64_simd_vec_copy_lanev16qi */

            case E_V8QImode:
              if (!register_operand (operands[3], E_V8QImode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1731; /* *aarch64_simd_vec_copy_lane_to_64v16qi */

            default:
              return -1;
            }

        case E_V4HImode:
          if (pattern765 (x2, E_V4HImode, E_HImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1718; /* aarch64_simd_vec_copy_lanev4hi */

            case E_V8HImode:
              if (!register_operand (operands[3], E_V8HImode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1732; /* *aarch64_simd_vec_copy_lane_to_128v4hi */

            default:
              return -1;
            }

        case E_V8HImode:
          if (pattern765 (x2, E_V8HImode, E_HImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V8HImode:
              if (!register_operand (operands[3], E_V8HImode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1719; /* aarch64_simd_vec_copy_lanev8hi */

            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1733; /* *aarch64_simd_vec_copy_lane_to_64v8hi */

            default:
              return -1;
            }

        case E_V2SImode:
          if (pattern765 (x2, E_V2SImode, E_SImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1720; /* aarch64_simd_vec_copy_lanev2si */

            case E_V4SImode:
              if (!register_operand (operands[3], E_V4SImode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1734; /* *aarch64_simd_vec_copy_lane_to_128v2si */

            default:
              return -1;
            }

        case E_V4SImode:
          if (pattern765 (x2, E_V4SImode, E_SImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4SImode:
              if (!register_operand (operands[3], E_V4SImode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1721; /* aarch64_simd_vec_copy_lanev4si */

            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1735; /* *aarch64_simd_vec_copy_lane_to_64v4si */

            default:
              return -1;
            }

        case E_V2DImode:
          if (pattern766 (x2, E_V2DImode, E_DImode) != 0
              || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1722; /* aarch64_simd_vec_copy_lanev2di */

        case E_V4HFmode:
          if (pattern765 (x2, E_V4HFmode, E_HFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HFmode:
              if (!register_operand (operands[3], E_V4HFmode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1723; /* aarch64_simd_vec_copy_lanev4hf */

            case E_V8HFmode:
              if (!register_operand (operands[3], E_V8HFmode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1736; /* *aarch64_simd_vec_copy_lane_to_128v4hf */

            default:
              return -1;
            }

        case E_V8HFmode:
          if (pattern765 (x2, E_V8HFmode, E_HFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V8HFmode:
              if (!register_operand (operands[3], E_V8HFmode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1724; /* aarch64_simd_vec_copy_lanev8hf */

            case E_V4HFmode:
              if (!register_operand (operands[3], E_V4HFmode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1737; /* *aarch64_simd_vec_copy_lane_to_64v8hf */

            default:
              return -1;
            }

        case E_V4BFmode:
          if (pattern766 (x2, E_V4BFmode, E_BFmode) != 0
              || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1725; /* aarch64_simd_vec_copy_lanev4bf */

        case E_V8BFmode:
          if (pattern766 (x2, E_V8BFmode, E_BFmode) != 0
              || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1726; /* aarch64_simd_vec_copy_lanev8bf */

        case E_V2SFmode:
          if (pattern765 (x2, E_V2SFmode, E_SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SFmode:
              if (!register_operand (operands[3], E_V2SFmode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1727; /* aarch64_simd_vec_copy_lanev2sf */

            case E_V4SFmode:
              if (!register_operand (operands[3], E_V4SFmode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1738; /* *aarch64_simd_vec_copy_lane_to_128v2sf */

            default:
              return -1;
            }

        case E_V4SFmode:
          if (pattern765 (x2, E_V4SFmode, E_SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4SFmode:
              if (!register_operand (operands[3], E_V4SFmode)
                  || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1728; /* aarch64_simd_vec_copy_lanev4sf */

            case E_V2SFmode:
              if (!register_operand (operands[3], E_V2SFmode)
                  || !
#line 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1739; /* *aarch64_simd_vec_copy_lane_to_64v4sf */

            default:
              return -1;
            }

        case E_V2DFmode:
          if (pattern766 (x2, E_V2DFmode, E_DFmode) != 0
              || !
#line 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1729; /* aarch64_simd_vec_copy_lanev2df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_425 (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 TRUNCATE:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (register_operand (operands[0], E_SImode)
              && GET_MODE (x3) == E_SImode
              && register_operand (operands[1], E_SImode))
            return 353; /* negsi2 */
          break;

        case E_DImode:
          if (register_operand (operands[0], E_DImode)
              && GET_MODE (x3) == E_DImode
              && register_operand (operands[1], E_DImode))
            return 354; /* negdi2 */
          break;

        case E_HFmode:
          if (register_operand (operands[0], E_HFmode)
              && GET_MODE (x3) == E_HFmode
              && register_operand (operands[1], E_HFmode)
              && (
#line 6573 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return 989; /* neghf2 */
          break;

        case E_SFmode:
          if (register_operand (operands[0], E_SFmode)
              && GET_MODE (x3) == E_SFmode
              && register_operand (operands[1], E_SFmode)
              && 
#line 6573 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return 990; /* negsf2 */
          break;

        case E_DFmode:
          if (register_operand (operands[0], E_DFmode)
              && GET_MODE (x3) == E_DFmode
              && register_operand (operands[1], E_DFmode)
              && 
#line 6573 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return 991; /* negdf2 */
          break;

        case E_V8QImode:
          if (register_operand (operands[0], E_V8QImode)
              && GET_MODE (x3) == E_V8QImode
              && register_operand (operands[1], E_V8QImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1584; /* negv8qi2 */
          break;

        case E_V16QImode:
          if (register_operand (operands[0], E_V16QImode)
              && GET_MODE (x3) == E_V16QImode
              && register_operand (operands[1], E_V16QImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1585; /* negv16qi2 */
          break;

        case E_V4HImode:
          if (register_operand (operands[0], E_V4HImode)
              && GET_MODE (x3) == E_V4HImode
              && register_operand (operands[1], E_V4HImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1586; /* negv4hi2 */
          break;

        case E_V8HImode:
          if (register_operand (operands[0], E_V8HImode)
              && GET_MODE (x3) == E_V8HImode
              && register_operand (operands[1], E_V8HImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1587; /* negv8hi2 */
          break;

        case E_V2SImode:
          if (register_operand (operands[0], E_V2SImode)
              && GET_MODE (x3) == E_V2SImode
              && register_operand (operands[1], E_V2SImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1588; /* negv2si2 */
          break;

        case E_V4SImode:
          if (register_operand (operands[0], E_V4SImode)
              && GET_MODE (x3) == E_V4SImode
              && register_operand (operands[1], E_V4SImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1589; /* negv4si2 */
          break;

        case E_V2DImode:
          if (register_operand (operands[0], E_V2DImode)
              && GET_MODE (x3) == E_V2DImode
              && register_operand (operands[1], E_V2DImode)
              && 
#line 806 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1590; /* negv2di2 */
          break;

        case E_V4HFmode:
          if (register_operand (operands[0], E_V4HFmode)
              && GET_MODE (x3) == E_V4HFmode
              && register_operand (operands[1], E_V4HFmode)
              && (
#line 2711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return 2133; /* negv4hf2 */
          break;

        case E_V8HFmode:
          if (register_operand (operands[0], E_V8HFmode)
              && GET_MODE (x3) == E_V8HFmode
              && register_operand (operands[1], E_V8HFmode)
              && (
#line 2711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return 2134; /* negv8hf2 */
          break;

        case E_V2SFmode:
          if (register_operand (operands[0], E_V2SFmode)
              && GET_MODE (x3) == E_V2SFmode
              && register_operand (operands[1], E_V2SFmode)
              && 
#line 2711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2135; /* negv2sf2 */
          break;

        case E_V4SFmode:
          if (register_operand (operands[0], E_V4SFmode)
              && GET_MODE (x3) == E_V4SFmode
              && register_operand (operands[1], E_V4SFmode)
              && 
#line 2711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2136; /* negv4sf2 */
          break;

        case E_V2DFmode:
          if (register_operand (operands[0], E_V2DFmode)
              && GET_MODE (x3) == E_V2DFmode
              && register_operand (operands[1], E_V2DFmode)
              && 
#line 2711 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2137; /* negv2df2 */
          break;

        default:
          break;
        }
      if (!subreg_lowpart_operator (x4, E_SImode))
        return -1;
      operands[4] = x4;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != SIGN_EXTRACT
          || GET_MODE (x5) != E_DImode
          || !register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode)
        return -1;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x7 = XEXP (x5, 1);
      operands[3] = x7;
      if (!aarch64_simd_shift_imm_offset_si (operands[3], E_VOIDmode))
        return -1;
      x8 = XEXP (x5, 2);
      operands[2] = x8;
      if (!aarch64_simd_shift_imm_offset_si (operands[2], E_VOIDmode)
          || !
#line 3693 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) + INTVAL (operands[3]) == 32))
        return -1;
      return 377; /* *neg_asr_si2_extr */

    case ASHIFT:
      switch (pattern53 (x3))
        {
        case 0:
          return 368; /* *neg_lsl_si2 */

        case 1:
          return 371; /* *neg_lsl_di2 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern53 (x3))
        {
        case 0:
          return 369; /* *neg_asr_si2 */

        case 1:
          return 372; /* *neg_asr_di2 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern53 (x3))
        {
        case 0:
          return 370; /* *neg_lsr_si2 */

        case 1:
          return 373; /* *neg_lsr_di2 */

        default:
          return -1;
        }

    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 UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
      return recog_56 (x1, insn, pnum_clobbers);

    case FMA:
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      x9 = XEXP (x4, 1);
      operands[3] = x9;
      x10 = XEXP (x4, 2);
      operands[1] = x10;
      switch (GET_MODE (operands[0]))
        {
        case E_SFmode:
          if (pattern481 (x3, E_SFmode) != 0
              || !
#line 6205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!HONOR_SIGNED_ZEROS (SFmode) && TARGET_FLOAT))
            return -1;
          return 911; /* *aarch64_fnmaddsf4 */

        case E_DFmode:
          if (pattern481 (x3, E_DFmode) != 0
              || !
#line 6205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!HONOR_SIGNED_ZEROS (DFmode) && TARGET_FLOAT))
            return -1;
          return 912; /* *aarch64_fnmadddf4 */

        default:
          return -1;
        }

    case MULT:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_SFmode:
          if (pattern182 (x3, E_SFmode) != 0
              || !
#line 6544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 984; /* *fnmulsf3 */

        case E_DFmode:
          if (pattern182 (x3, E_DFmode) != 0
              || !
#line 6544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 985; /* *fnmuldf3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_426 (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:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_HFmode:
          if (!register_operand (operands[0], E_HFmode)
              || GET_MODE (x3) != E_HFmode
              || !register_operand (operands[1], E_HFmode)
              || !(
#line 6598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 995; /* abshf2 */

        case E_SFmode:
          if (!register_operand (operands[0], E_SFmode)
              || GET_MODE (x3) != E_SFmode
              || !register_operand (operands[1], E_SFmode)
              || !
#line 6598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 996; /* abssf2 */

        case E_DFmode:
          if (!register_operand (operands[0], E_DFmode)
              || GET_MODE (x3) != E_DFmode
              || !register_operand (operands[1], E_DFmode)
              || !
#line 6598 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 997; /* absdf2 */

        case E_V8QImode:
          if (!register_operand (operands[0], E_V8QImode)
              || GET_MODE (x3) != E_V8QImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1591; /* absv8qi2 */

        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x3) != E_V16QImode
              || !register_operand (operands[1], E_V16QImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1592; /* absv16qi2 */

        case E_V4HImode:
          if (!register_operand (operands[0], E_V4HImode)
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1593; /* absv4hi2 */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8HImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1594; /* absv8hi2 */

        case E_V2SImode:
          if (!register_operand (operands[0], E_V2SImode)
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1595; /* absv2si2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4SImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1596; /* absv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2DImode)
              || !
#line 814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1597; /* absv2di2 */

        case E_V4HFmode:
          if (!register_operand (operands[0], E_V4HFmode)
              || GET_MODE (x3) != E_V4HFmode
              || !register_operand (operands[1], E_V4HFmode)
              || !(
#line 2719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2138; /* absv4hf2 */

        case E_V8HFmode:
          if (!register_operand (operands[0], E_V8HFmode)
              || GET_MODE (x3) != E_V8HFmode
              || !register_operand (operands[1], E_V8HFmode)
              || !(
#line 2719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2139; /* absv8hf2 */

        case E_V2SFmode:
          if (!register_operand (operands[0], E_V2SFmode)
              || GET_MODE (x3) != E_V2SFmode
              || !register_operand (operands[1], E_V2SFmode)
              || !
#line 2719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2140; /* absv2sf2 */

        case E_V4SFmode:
          if (!register_operand (operands[0], E_V4SFmode)
              || GET_MODE (x3) != E_V4SFmode
              || !register_operand (operands[1], E_V4SFmode)
              || !
#line 2719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2141; /* absv4sf2 */

        case E_V2DFmode:
          if (!register_operand (operands[0], E_V2DFmode)
              || GET_MODE (x3) != E_V2DFmode
              || !register_operand (operands[1], E_V2DFmode)
              || !
#line 2719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2142; /* absv2df2 */

        default:
          return -1;
        }

    case MINUS:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V4HFmode:
          if (pattern182 (x3, E_V4HFmode) != 0
              || !(
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 1666; /* fabdv4hf3 */

        case E_V8HFmode:
          if (pattern182 (x3, E_V8HFmode) != 0
              || !(
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 1667; /* fabdv8hf3 */

        case E_V2SFmode:
          if (pattern182 (x3, E_V2SFmode) != 0
              || !
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1668; /* fabdv2sf3 */

        case E_V4SFmode:
          if (pattern182 (x3, E_V4SFmode) != 0
              || !
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1669; /* fabdv4sf3 */

        case E_V2DFmode:
          if (pattern182 (x3, E_V2DFmode) != 0
              || !
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1670; /* fabdv2df3 */

        case E_HFmode:
          if (pattern182 (x3, E_HFmode) != 0
              || !(
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 162 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 1671; /* fabdhf3 */

        case E_SFmode:
          if (pattern182 (x3, E_SFmode) != 0
              || !
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1672; /* fabdsf3 */

        case E_DFmode:
          if (pattern182 (x3, E_DFmode) != 0
              || !
#line 973 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1673; /* fabddf3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_427 (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 (pattern11 (x1))
    {
    case 0:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 838; /* lbtruncuhfsi2 */

    case 1:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 848; /* lbtruncusfsi2 */

    case 2:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 858; /* lbtruncudfsi2 */

    case 3:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 868; /* lbtruncuhfdi2 */

    case 4:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 878; /* lbtruncusfdi2 */

    case 5:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 888; /* lbtruncudfdi2 */

    case 6:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2223; /* lbtruncuv4hfv4hi2 */

    case 7:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2233; /* lbtruncuv8hfv8hi2 */

    case 8:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2243; /* lbtruncuv2sfv2si2 */

    case 9:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2253; /* lbtruncuv4sfv4si2 */

    case 10:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2263; /* lbtruncuv2dfv2di2 */

    case 11:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2273; /* lbtruncuhfhi2 */

    case 12:
      if (!
#line 3075 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && IN_RANGE (aarch64_vec_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (GET_MODE_INNER (V2SFmode)))))
        return -1;
      return 2283; /* *aarch64_fcvtuv2sfv2si2_mult */

    case 13:
      if (!
#line 3075 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && IN_RANGE (aarch64_vec_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (GET_MODE_INNER (V4SFmode)))))
        return -1;
      return 2285; /* *aarch64_fcvtuv4sfv4si2_mult */

    case 14:
      if (!
#line 3075 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && IN_RANGE (aarch64_vec_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (GET_MODE_INNER (V2DFmode)))))
        return -1;
      return 2287; /* *aarch64_fcvtuv2dfv2di2_mult */

    case 15:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 839; /* lceiluhfsi2 */

    case 16:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 849; /* lceilusfsi2 */

    case 17:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 859; /* lceiludfsi2 */

    case 18:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 869; /* lceiluhfdi2 */

    case 19:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 879; /* lceilusfdi2 */

    case 20:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 889; /* lceiludfdi2 */

    case 21:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2224; /* lceiluv4hfv4hi2 */

    case 22:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2234; /* lceiluv8hfv8hi2 */

    case 23:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2244; /* lceiluv2sfv2si2 */

    case 24:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2254; /* lceiluv4sfv4si2 */

    case 25:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2264; /* lceiluv2dfv2di2 */

    case 26:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2274; /* lceiluhfhi2 */

    case 27:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 840; /* lflooruhfsi2 */

    case 28:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 850; /* lfloorusfsi2 */

    case 29:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 860; /* lfloorudfsi2 */

    case 30:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 870; /* lflooruhfdi2 */

    case 31:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 880; /* lfloorusfdi2 */

    case 32:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 890; /* lfloorudfdi2 */

    case 33:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2225; /* lflooruv4hfv4hi2 */

    case 34:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2235; /* lflooruv8hfv8hi2 */

    case 35:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2245; /* lflooruv2sfv2si2 */

    case 36:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2255; /* lflooruv4sfv4si2 */

    case 37:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2265; /* lflooruv2dfv2di2 */

    case 38:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2275; /* lflooruhfhi2 */

    case 39:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 841; /* lrounduhfsi2 */

    case 40:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 851; /* lroundusfsi2 */

    case 41:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 861; /* lroundudfsi2 */

    case 42:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 871; /* lrounduhfdi2 */

    case 43:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 881; /* lroundusfdi2 */

    case 44:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 891; /* lroundudfdi2 */

    case 45:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2226; /* lrounduv4hfv4hi2 */

    case 46:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2236; /* lrounduv8hfv8hi2 */

    case 47:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2246; /* lrounduv2sfv2si2 */

    case 48:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2256; /* lrounduv4sfv4si2 */

    case 49:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2266; /* lrounduv2dfv2di2 */

    case 50:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2276; /* lrounduhfhi2 */

    case 51:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 842; /* lfrintnuhfsi2 */

    case 52:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 852; /* lfrintnusfsi2 */

    case 53:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 862; /* lfrintnudfsi2 */

    case 54:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 872; /* lfrintnuhfdi2 */

    case 55:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 882; /* lfrintnusfdi2 */

    case 56:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 892; /* lfrintnudfdi2 */

    case 57:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2227; /* lfrintnuv4hfv4hi2 */

    case 58:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2237; /* lfrintnuv8hfv8hi2 */

    case 59:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2247; /* lfrintnuv2sfv2si2 */

    case 60:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2257; /* lfrintnuv4sfv4si2 */

    case 61:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2267; /* lfrintnuv2dfv2di2 */

    case 62:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2277; /* lfrintnuhfhi2 */

    case 63:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (SImode))))
        return -1;
      return 894; /* *aarch64_fcvtusfsi2_mult */

    case 64:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (SImode))))
        return -1;
      return 896; /* *aarch64_fcvtudfsi2_mult */

    case 65:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (DImode))))
        return -1;
      return 898; /* *aarch64_fcvtusfdi2_mult */

    case 66:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (DImode))))
        return -1;
      return 900; /* *aarch64_fcvtudfdi2_mult */

    case 67:
      if (!
#line 6268 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 920; /* fixuns_truncsfsi2 */

    case 68:
      if (!
#line 6281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 924; /* fixuns_trunchfsi2 */

    case 69:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 928; /* fixuns_truncdfsi2 */

    case 70:
      if (!
#line 6268 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 922; /* fixuns_truncdfdi2 */

    case 71:
      if (!
#line 6281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 926; /* fixuns_trunchfdi2 */

    case 72:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 930; /* fixuns_truncsfdi2 */

    case 73:
      if (!
#line 3055 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2279; /* fixuns_trunchfhi2 */

    default:
      return -1;
    }
}

static int
recog_428 (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 (pattern11 (x1))
    {
    case 0:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 833; /* lbtrunchfsi2 */

    case 1:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 843; /* lbtruncsfsi2 */

    case 2:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 853; /* lbtruncdfsi2 */

    case 3:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 863; /* lbtrunchfdi2 */

    case 4:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 873; /* lbtruncsfdi2 */

    case 5:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 883; /* lbtruncdfdi2 */

    case 6:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2218; /* lbtruncv4hfv4hi2 */

    case 7:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2228; /* lbtruncv8hfv8hi2 */

    case 8:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2238; /* lbtruncv2sfv2si2 */

    case 9:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2248; /* lbtruncv4sfv4si2 */

    case 10:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2258; /* lbtruncv2dfv2di2 */

    case 11:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2268; /* lbtrunchfhi2 */

    case 12:
      if (!
#line 3075 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && IN_RANGE (aarch64_vec_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (GET_MODE_INNER (V2SFmode)))))
        return -1;
      return 2282; /* *aarch64_fcvtv2sfv2si2_mult */

    case 13:
      if (!
#line 3075 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && IN_RANGE (aarch64_vec_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (GET_MODE_INNER (V4SFmode)))))
        return -1;
      return 2284; /* *aarch64_fcvtv4sfv4si2_mult */

    case 14:
      if (!
#line 3075 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && IN_RANGE (aarch64_vec_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (GET_MODE_INNER (V2DFmode)))))
        return -1;
      return 2286; /* *aarch64_fcvtv2dfv2di2_mult */

    case 15:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 834; /* lceilhfsi2 */

    case 16:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 844; /* lceilsfsi2 */

    case 17:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 854; /* lceildfsi2 */

    case 18:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 864; /* lceilhfdi2 */

    case 19:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 874; /* lceilsfdi2 */

    case 20:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 884; /* lceildfdi2 */

    case 21:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2219; /* lceilv4hfv4hi2 */

    case 22:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2229; /* lceilv8hfv8hi2 */

    case 23:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2239; /* lceilv2sfv2si2 */

    case 24:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2249; /* lceilv4sfv4si2 */

    case 25:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2259; /* lceilv2dfv2di2 */

    case 26:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2269; /* lceilhfhi2 */

    case 27:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 835; /* lfloorhfsi2 */

    case 28:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 845; /* lfloorsfsi2 */

    case 29:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 855; /* lfloordfsi2 */

    case 30:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 865; /* lfloorhfdi2 */

    case 31:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 875; /* lfloorsfdi2 */

    case 32:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 885; /* lfloordfdi2 */

    case 33:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2220; /* lfloorv4hfv4hi2 */

    case 34:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2230; /* lfloorv8hfv8hi2 */

    case 35:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2240; /* lfloorv2sfv2si2 */

    case 36:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2250; /* lfloorv4sfv4si2 */

    case 37:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2260; /* lfloorv2dfv2di2 */

    case 38:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2270; /* lfloorhfhi2 */

    case 39:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 836; /* lroundhfsi2 */

    case 40:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 846; /* lroundsfsi2 */

    case 41:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 856; /* lrounddfsi2 */

    case 42:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 866; /* lroundhfdi2 */

    case 43:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 876; /* lroundsfdi2 */

    case 44:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 886; /* lrounddfdi2 */

    case 45:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2221; /* lroundv4hfv4hi2 */

    case 46:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2231; /* lroundv8hfv8hi2 */

    case 47:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2241; /* lroundv2sfv2si2 */

    case 48:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2251; /* lroundv4sfv4si2 */

    case 49:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2261; /* lroundv2dfv2di2 */

    case 50:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2271; /* lroundhfhi2 */

    case 51:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 837; /* lfrintnhfsi2 */

    case 52:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 847; /* lfrintnsfsi2 */

    case 53:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 857; /* lfrintndfsi2 */

    case 54:
      if (!(
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 867; /* lfrintnhfdi2 */

    case 55:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 877; /* lfrintnsfdi2 */

    case 56:
      if (!
#line 6095 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 887; /* lfrintndfdi2 */

    case 57:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2222; /* lfrintnv4hfv4hi2 */

    case 58:
      if (!(
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2232; /* lfrintnv8hfv8hi2 */

    case 59:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2242; /* lfrintnv2sfv2si2 */

    case 60:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2252; /* lfrintnv4sfv4si2 */

    case 61:
      if (!
#line 3037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2262; /* lfrintnv2dfv2di2 */

    case 62:
      if (!
#line 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2272; /* lfrintnhfhi2 */

    case 63:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (SImode))))
        return -1;
      return 893; /* *aarch64_fcvtsfsi2_mult */

    case 64:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (SImode))))
        return -1;
      return 895; /* *aarch64_fcvtdfsi2_mult */

    case 65:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (DImode))))
        return -1;
      return 897; /* *aarch64_fcvtsfdi2_mult */

    case 66:
      if (!
#line 6106 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT
   && IN_RANGE (aarch64_fpconst_pow_of_2 (operands[2]), 1,
		GET_MODE_BITSIZE (DImode))))
        return -1;
      return 899; /* *aarch64_fcvtdfdi2_mult */

    case 67:
      if (!
#line 6268 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 919; /* fix_truncsfsi2 */

    case 68:
      if (!
#line 6281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 923; /* fix_trunchfsi2 */

    case 69:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 927; /* fix_truncdfsi2 */

    case 70:
      if (!
#line 6268 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 921; /* fix_truncdfdi2 */

    case 71:
      if (!
#line 6281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 925; /* fix_trunchfdi2 */

    case 72:
      if (!
#line 6292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 929; /* fix_truncsfdi2 */

    case 73:
      if (!
#line 3055 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2278; /* fix_trunchfhi2 */

    default:
      return -1;
    }
}

static int
recog_429 (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);
  if (GET_CODE (x3) != MULT)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SIGN_EXTEND)
    return -1;
  x5 = XEXP (x2, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  x7 = XEXP (x4, 0);
  switch (GET_CODE (x7))
    {
    case REG:
    case SUBREG:
      operands[1] = x7;
      x8 = XEXP (x3, 1);
      switch (GET_CODE (x8))
        {
        case SIGN_EXTEND:
          x9 = XEXP (x8, 0);
          switch (GET_CODE (x9))
            {
            case REG:
            case SUBREG:
              operands[2] = x9;
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern679 (x2, E_V4HImode, E_V4SImode) != 0
                      || !
#line 5894 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3012; /* aarch64_sqdmullv4hi */

                case E_V2DImode:
                  if (pattern679 (x2, E_V2SImode, E_V2DImode) != 0
                      || !
#line 5894 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3013; /* aarch64_sqdmullv2si */

                case E_SImode:
                  if (pattern679 (x2, E_HImode, E_SImode) != 0
                      || !
#line 5894 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3014; /* aarch64_sqdmullhi */

                case E_DImode:
                  if (pattern679 (x2, E_SImode, E_DImode) != 0
                      || !
#line 5894 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3015; /* aarch64_sqdmullsi */

                default:
                  return -1;
                }

            case VEC_SELECT:
              x10 = XEXP (x9, 1);
              if (GET_CODE (x10) != PARALLEL
                  || XVECLEN (x10, 0) != 1)
                return -1;
              x11 = XEXP (x9, 0);
              operands[2] = x11;
              x12 = XVECEXP (x10, 0, 0);
              operands[3] = x12;
              if (!immediate_operand (operands[3], E_SImode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern825 (x2, E_HImode, E_SImode) != 0)
                    return -1;
                  switch (GET_MODE (operands[2]))
                    {
                    case E_V4HImode:
                      if (!register_operand (operands[2], E_V4HImode)
                          || !
#line 5955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3020; /* aarch64_sqdmull_lanehi */

                    case E_V8HImode:
                      if (!register_operand (operands[2], E_V8HImode)
                          || !
#line 5975 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3022; /* aarch64_sqdmull_laneqhi */

                    default:
                      return -1;
                    }

                case E_DImode:
                  if (pattern825 (x2, E_SImode, E_DImode) != 0)
                    return -1;
                  switch (GET_MODE (operands[2]))
                    {
                    case E_V2SImode:
                      if (!register_operand (operands[2], E_V2SImode)
                          || !
#line 5955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3021; /* aarch64_sqdmull_lanesi */

                    case E_V4SImode:
                      if (!register_operand (operands[2], E_V4SImode)
                          || !
#line 5975 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3023; /* aarch64_sqdmull_laneqsi */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_DUPLICATE:
          x9 = XEXP (x8, 0);
          switch (pattern539 (x9))
            {
            case 0:
              x11 = XEXP (x9, 0);
              x13 = XEXP (x11, 0);
              operands[2] = x13;
              x14 = XEXP (x11, 1);
              x15 = XVECEXP (x14, 0, 0);
              operands[3] = x15;
              if (!immediate_operand (operands[3], E_SImode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern841 (x2, E_V4HImode, E_V4SImode) != 0)
                    return -1;
                  switch (pattern906 (x8))
                    {
                    case 0:
                      if (!
#line 5914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3016; /* aarch64_sqdmull_lanev4hi */

                    case 1:
                      if (!
#line 5935 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3018; /* aarch64_sqdmull_laneqv4hi */

                    default:
                      return -1;
                    }

                case E_V2DImode:
                  if (pattern841 (x2, E_V2SImode, E_V2DImode) != 0)
                    return -1;
                  switch (pattern907 (x8))
                    {
                    case 0:
                      if (!
#line 5914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3017; /* aarch64_sqdmull_lanev2si */

                    case 1:
                      if (!
#line 5935 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3019; /* aarch64_sqdmull_laneqv2si */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case 1:
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern720 (x2, E_HImode, E_SImode, E_V4SImode, E_V4HImode) != 0
                      || !
#line 5996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3024; /* aarch64_sqdmull_nv4hi */

                case E_V2DImode:
                  if (pattern720 (x2, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0
                      || !
#line 5996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3025; /* aarch64_sqdmull_nv2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x16 = XEXP (x7, 0);
      operands[1] = x16;
      x8 = XEXP (x3, 1);
      switch (GET_CODE (x8))
        {
        case SIGN_EXTEND:
          x9 = XEXP (x8, 0);
          if (GET_CODE (x9) != VEC_SELECT)
            return -1;
          x17 = XEXP (x7, 1);
          operands[3] = x17;
          x11 = XEXP (x9, 0);
          operands[2] = x11;
          x10 = XEXP (x9, 1);
          if (!rtx_equal_p (x10, operands[3]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_V4SImode:
              if (pattern769 (x2, E_V8HImode, E_V4HImode, E_V4SImode) != 0
                  || !
#line 6017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3026; /* aarch64_sqdmull2v8hi_internal */

            case E_V2DImode:
              if (pattern769 (x2, E_V4SImode, E_V2SImode, E_V2DImode) != 0
                  || !
#line 6017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3027; /* aarch64_sqdmull2v4si_internal */

            default:
              return -1;
            }

        case VEC_DUPLICATE:
          x9 = XEXP (x8, 0);
          switch (pattern539 (x9))
            {
            case 0:
              x17 = XEXP (x7, 1);
              operands[4] = x17;
              x11 = XEXP (x9, 0);
              x13 = XEXP (x11, 0);
              operands[2] = x13;
              x14 = XEXP (x11, 1);
              x15 = XVECEXP (x14, 0, 0);
              operands[3] = x15;
              if (!immediate_operand (operands[3], E_SImode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern861 (x2, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
                    return -1;
                  switch (pattern906 (x8))
                    {
                    case 0:
                      if (!
#line 6051 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3028; /* aarch64_sqdmull2_lanev8hi_internal */

                    case 1:
                      if (!
#line 6074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3030; /* aarch64_sqdmull2_laneqv8hi_internal */

                    default:
                      return -1;
                    }

                case E_V2DImode:
                  if (pattern861 (x2, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
                    return -1;
                  switch (pattern907 (x8))
                    {
                    case 0:
                      if (!
#line 6051 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3029; /* aarch64_sqdmull2_lanev4si_internal */

                    case 1:
                      if (!
#line 6074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3031; /* aarch64_sqdmull2_laneqv4si_internal */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case 1:
              x17 = XEXP (x7, 1);
              operands[3] = x17;
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern770 (x2, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode) != 0
                      || !
#line 6125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3032; /* aarch64_sqdmull2_nv8hi_internal */

                case E_V2DImode:
                  if (pattern770 (x2, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0
                      || !
#line 6125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3033; /* aarch64_sqdmull2_nv4si_internal */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_430 (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 E_DImode:
          switch (pattern284 (x3))
            {
            case 0:
              return 109; /* *extendsidi2_aarch64 */

            case 1:
              return 115; /* *extendqidi2_aarch64 */

            case 2:
              return 116; /* *extendhidi2_aarch64 */

            default:
              return -1;
            }

        case E_SImode:
          switch (pattern285 (x3))
            {
            case 0:
              return 113; /* *extendqisi2_aarch64 */

            case 1:
              return 114; /* *extendhisi2_aarch64 */

            default:
              return -1;
            }

        case E_HImode:
          if (!register_operand (operands[0], E_HImode)
              || GET_MODE (x3) != E_HImode
              || !nonimmediate_operand (operands[1], E_QImode))
            return -1;
          return 121; /* *extendqihi2_aarch64 */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 8948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4295; /* extendv8qiv8hi2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 8948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4297; /* extendv4hiv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 8948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4299; /* extendv2siv2di2 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern42 (x3))
        {
        case 0:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 737; /* *extendsi_ashlqi */

        case 1:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 739; /* *extendsi_ashlhi */

        case 2:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 741; /* *extenddi_ashlqi */

        case 3:
          if (!
#line 5596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 743; /* *extenddi_ashlhi */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern42 (x3))
        {
        case 0:
          if (!
#line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 749; /* *extendsi_ashrqi */

        case 1:
          if (!
#line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 750; /* *extendsi_ashrhi */

        case 2:
          if (!
#line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 751; /* *extenddi_ashrqi */

        case 3:
          if (!
#line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 752; /* *extenddi_ashrhi */

        default:
          return -1;
        }

    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL)
        return -1;
      operands[2] = x5;
      switch (pattern287 (x3))
        {
        case 0:
          if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
              && 
#line 1996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1975; /* aarch64_simd_vec_unpacks_lo_v16qi */
          if (vect_par_cnst_hi_half (operands[2], E_V16QImode)
              && 
#line 2007 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1981; /* aarch64_simd_vec_unpacks_hi_v16qi */
          break;

        case 1:
          if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
              && 
#line 1996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1977; /* aarch64_simd_vec_unpacks_lo_v8hi */
          if (vect_par_cnst_hi_half (operands[2], E_V8HImode)
              && 
#line 2007 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1983; /* aarch64_simd_vec_unpacks_hi_v8hi */
          break;

        case 2:
          if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
              && 
#line 1996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1979; /* aarch64_simd_vec_unpacks_lo_v4si */
          if (vect_par_cnst_hi_half (operands[2], E_V4SImode)
              && 
#line 2007 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1985; /* aarch64_simd_vec_unpacks_hi_v4si */
          break;

        default:
          break;
        }
      if (XVECLEN (x5, 0) != 1)
        return -1;
      switch (pattern289 (x3))
        {
        case 0:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2484; /* *aarch64_get_lane_extendsiv8qi */

        case 1:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2486; /* *aarch64_get_lane_extendsiv16qi */

        case 2:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2488; /* *aarch64_get_lane_extendsiv4hi */

        case 3:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2490; /* *aarch64_get_lane_extendsiv8hi */

        case 4:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2485; /* *aarch64_get_lane_extenddiv8qi */

        case 5:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2487; /* *aarch64_get_lane_extenddiv16qi */

        case 6:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2489; /* *aarch64_get_lane_extenddiv4hi */

        case 7:
          if (!
#line 4171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2491; /* *aarch64_get_lane_extenddiv8hi */

        default:
          return -1;
        }

    case SS_PLUS:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 3)
        return -1;
      switch (pattern373 (x3))
        {
        case 0:
          if (!
#line 9883 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8980; /* aarch64_sve_sqincsi_pat */

        case 1:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9026; /* *aarch64_sve_sqincsivnx16bi_cntp */

        case 2:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9028; /* *aarch64_sve_sqincsivnx8bi_cntp */

        case 3:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9030; /* *aarch64_sve_sqincsivnx4bi_cntp */

        case 4:
          if (!
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9032; /* *aarch64_sve_sqincsivnx2bi_cntp */

        default:
          return -1;
        }

    case SS_MINUS:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 3)
        return -1;
      switch (pattern375 (x3))
        {
        case 0:
          if (!
#line 10033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8995; /* aarch64_sve_sqdecsi_pat */

        case 1:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9059; /* *aarch64_sve_sqdecsivnx16bi_cntp */

        case 2:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9061; /* *aarch64_sve_sqdecsivnx8bi_cntp */

        case 3:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9063; /* *aarch64_sve_sqdecsivnx4bi_cntp */

        case 4:
          if (!
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9065; /* *aarch64_sve_sqdecsivnx2bi_cntp */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_431 (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 LSHIFTRT:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case MULT:
          if (GET_MODE (x5) != E_TImode)
            return -1;
          x6 = XEXP (x4, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 64]
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || GET_MODE (x4) != E_TImode)
            return -1;
          x7 = XEXP (x5, 0);
          if (GET_MODE (x7) != E_TImode)
            return -1;
          x8 = XEXP (x5, 1);
          if (GET_MODE (x8) != E_TImode)
            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 (!register_operand (operands[1], E_DImode))
                return -1;
              x10 = XEXP (x8, 0);
              operands[2] = x10;
              if (!register_operand (operands[2], E_DImode))
                return -1;
              return 398; /* smuldi3_highpart */

            case ZERO_EXTEND:
              if (GET_CODE (x8) != ZERO_EXTEND)
                return -1;
              x9 = XEXP (x7, 0);
              operands[1] = x9;
              if (!register_operand (operands[1], E_DImode))
                return -1;
              x10 = XEXP (x8, 0);
              operands[2] = x10;
              if (!register_operand (operands[2], E_DImode))
                return -1;
              return 399; /* umuldi3_highpart */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern56 (x3))
            {
            case 0:
              if (!
#line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1928; /* *aarch64_shrnv8hi_vect */

            case 1:
              if (!
#line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1930; /* *aarch64_shrnv4si_vect */

            case 2:
              if (!
#line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1932; /* *aarch64_shrnv2di_vect */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern56 (x3))
        {
        case 0:
          if (!
#line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1927; /* *aarch64_rshrnv8hi_vect */

        case 1:
          if (!
#line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1929; /* *aarch64_rshrnv4si_vect */

        case 2:
          if (!
#line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1931; /* *aarch64_rshrnv2di_vect */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (!register_operand (operands[0], E_V8QImode)
              || GET_MODE (x3) != E_V8QImode
              || !register_operand (operands[1], E_V8HImode)
              || !
#line 8964 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4301; /* truncv8hiv8qi2 */

        case E_V4HImode:
          if (!register_operand (operands[0], E_V4HImode)
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[1], E_V4SImode)
              || !
#line 8964 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4302; /* truncv4siv4hi2 */

        case E_V2SImode:
          if (!register_operand (operands[0], E_V2SImode)
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[1], E_V2DImode)
              || !
#line 8964 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4303; /* truncv2div2si2 */

        case E_VNx8QImode:
          if (!register_operand (operands[0], E_VNx8QImode)
              || GET_MODE (x3) != E_VNx8QImode
              || !register_operand (operands[1], E_VNx8HImode)
              || !
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 5544; /* truncvnx8hivnx8qi2 */

        case E_VNx4QImode:
          switch (pattern281 (x3))
            {
            case 0:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
                return -1;
              return 5545; /* truncvnx4hivnx4qi2 */

            case 1:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
                return -1;
              return 5547; /* truncvnx4sivnx4qi2 */

            default:
              return -1;
            }

        case E_VNx2QImode:
          switch (pattern282 (x3))
            {
            case 0:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
                return -1;
              return 5546; /* truncvnx2hivnx2qi2 */

            case 1:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
                return -1;
              return 5549; /* truncvnx2sivnx2qi2 */

            case 2:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
                return -1;
              return 5551; /* truncvnx2divnx2qi2 */

            default:
              return -1;
            }

        case E_VNx4HImode:
          if (!register_operand (operands[0], E_VNx4HImode)
              || GET_MODE (x3) != E_VNx4HImode
              || !register_operand (operands[1], E_VNx4SImode)
              || !
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 5548; /* truncvnx4sivnx4hi2 */

        case E_VNx2HImode:
          switch (pattern283 (x3))
            {
            case 0:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
                return -1;
              return 5550; /* truncvnx2sivnx2hi2 */

            case 1:
              if (!
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
                return -1;
              return 5552; /* truncvnx2divnx2hi2 */

            default:
              return -1;
            }

        case E_VNx2SImode:
          if (!register_operand (operands[0], E_VNx2SImode)
              || GET_MODE (x3) != E_VNx2SImode
              || !register_operand (operands[1], E_VNx2DImode)
              || !
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5553; /* truncvnx2divnx2si2 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_432 (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:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (!register_operand (operands[0], E_SImode)
              || GET_MODE (x3) != E_SImode
              || !register_operand (operands[1], E_SImode))
            return -1;
          return 569; /* one_cmplsi2 */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || !register_operand (operands[1], E_DImode))
            return -1;
          return 570; /* one_cmpldi2 */

        case E_V8QImode:
          if (!register_operand (operands[0], E_V8QImode)
              || GET_MODE (x3) != E_V8QImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1695; /* one_cmplv8qi2 */

        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x3) != E_V16QImode
              || !register_operand (operands[1], E_V16QImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1696; /* one_cmplv16qi2 */

        case E_V4HImode:
          if (!register_operand (operands[0], E_V4HImode)
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1697; /* one_cmplv4hi2 */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8HImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1698; /* one_cmplv8hi2 */

        case E_V2SImode:
          if (!register_operand (operands[0], E_V2SImode)
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1699; /* one_cmplv2si2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4SImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1700; /* one_cmplv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2DImode)
              || !
#line 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1701; /* one_cmplv2di2 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern53 (x3))
        {
        case 0:
          return 572; /* *one_cmpl_ashlsi2 */

        case 1:
          return 576; /* *one_cmpl_ashldi2 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern53 (x3))
        {
        case 0:
          return 573; /* *one_cmpl_ashrsi2 */

        case 1:
          return 577; /* *one_cmpl_ashrdi2 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern53 (x3))
        {
        case 0:
          return 574; /* *one_cmpl_lshrsi2 */

        case 1:
          return 578; /* *one_cmpl_lshrdi2 */

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern53 (x3))
        {
        case 0:
          return 575; /* *one_cmpl_rotrsi2 */

        case 1:
          return 579; /* *one_cmpl_rotrdi2 */

        default:
          return -1;
        }

    case XOR:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern183 (x3))
            {
            case 0:
              return 587; /* *xor_one_cmplsi3 */

            case 1:
              return 588; /* *xor_one_cmpldi3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern261 (x3))
            {
            case 0:
              return 618; /* *eor_one_cmpl_ashlsi3_alt */

            case 1:
              return 622; /* *eor_one_cmpl_ashldi3_alt */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern261 (x3))
            {
            case 0:
              return 619; /* *eor_one_cmpl_ashrsi3_alt */

            case 1:
              return 623; /* *eor_one_cmpl_ashrdi3_alt */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern261 (x3))
            {
            case 0:
              return 620; /* *eor_one_cmpl_lshrsi3_alt */

            case 1:
              return 624; /* *eor_one_cmpl_lshrdi3_alt */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern261 (x3))
            {
            case 0:
              return 621; /* *eor_one_cmpl_rotrsi3_alt */

            case 1:
              return 625; /* *eor_one_cmpl_rotrdi3_alt */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_433 (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);
  if (GET_CODE (x3) != PARALLEL)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 0);
  operands[1] = x5;
  if (XVECLEN (x3, 0) == 1)
    {
      res = recog_404 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x2) != E_V8QImode
          || !register_operand (operands[1], E_V16QImode))
        return -1;
      if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
          && 
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1402; /* aarch64_simd_mov_from_v16qilow */
      if (!vect_par_cnst_hi_half (operands[2], E_V16QImode)
          || !
#line 357 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1408; /* aarch64_simd_mov_from_v16qihigh */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x2) != E_V4HImode
          || !register_operand (operands[1], E_V8HImode))
        return -1;
      if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
          && 
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1403; /* aarch64_simd_mov_from_v8hilow */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HImode)
          || !
#line 357 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1409; /* aarch64_simd_mov_from_v8hihigh */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x2) != E_V2SImode
          || !register_operand (operands[1], E_V4SImode))
        return -1;
      if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
          && 
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1404; /* aarch64_simd_mov_from_v4silow */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SImode)
          || !
#line 357 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1410; /* aarch64_simd_mov_from_v4sihigh */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x2) != E_V4HFmode
          || !register_operand (operands[1], E_V8HFmode))
        return -1;
      if (vect_par_cnst_lo_half (operands[2], E_V8HFmode)
          && 
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1405; /* aarch64_simd_mov_from_v8hflow */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HFmode)
          || !
#line 357 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1411; /* aarch64_simd_mov_from_v8hfhigh */

    case E_V4BFmode:
      if (!register_operand (operands[0], E_V4BFmode)
          || GET_MODE (x2) != E_V4BFmode
          || !register_operand (operands[1], E_V8BFmode))
        return -1;
      if (vect_par_cnst_lo_half (operands[2], E_V8BFmode)
          && 
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1406; /* aarch64_simd_mov_from_v8bflow */
      if (!vect_par_cnst_hi_half (operands[2], E_V8BFmode)
          || !
#line 357 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1412; /* aarch64_simd_mov_from_v8bfhigh */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x2) != E_V2SFmode
          || !register_operand (operands[1], E_V4SFmode))
        return -1;
      if (vect_par_cnst_lo_half (operands[2], E_V4SFmode)
          && 
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1407; /* aarch64_simd_mov_from_v4sflow */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SFmode)
          || !
#line 357 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1413; /* aarch64_simd_mov_from_v4sfhigh */

    default:
      return -1;
    }
}

static int
recog_434 (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 TRUNCATE:
      operands[1] = x4;
      res = recog_399 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      if (!subreg_lowpart_operator (x4, E_SImode))
        return -1;
      operands[4] = x4;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != SIGN_EXTRACT
          || GET_MODE (x5) != E_DImode)
        return -1;
      x6 = XEXP (x5, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || !register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode)
        return -1;
      x7 = XEXP (x5, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x8 = XEXP (x5, 1);
      operands[2] = x8;
      if (!aarch64_simd_shift_imm_offset_si (operands[2], E_VOIDmode))
        return -1;
      x9 = XEXP (x3, 1);
      operands[3] = x9;
      if (!aarch64_simd_shift_imm_si (operands[3], E_VOIDmode)
          || !
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
        return -1;
      return 798; /* *ashiftsi_extvdi_bfiz */

    case SIGN_EXTEND:
      switch (pattern159 (x3))
        {
        case 0:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 782; /* *extendqi_shft_si */

        case 1:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 786; /* *extendhi_shft_si */

        case 2:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 790; /* *extendsi_shft_si */

        case 3:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 784; /* *extendqi_shft_di */

        case 4:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 788; /* *extendhi_shft_di */

        case 5:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 792; /* *extendsi_shft_di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern159 (x3))
        {
        case 0:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 783; /* *zero_extendqi_shft_si */

        case 1:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 787; /* *zero_extendhi_shft_si */

        case 2:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 791; /* *zero_extendsi_shft_si */

        case 3:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 785; /* *zero_extendqi_shft_di */

        case 4:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 789; /* *zero_extendhi_shft_di */

        case 5:
          if (!
#line 5887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 793; /* *zero_extendsi_shft_di */

        default:
          return -1;
        }

    case SIGN_EXTRACT:
      x10 = XEXP (x4, 2);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x11 = XEXP (x4, 1);
      operands[2] = x11;
      x9 = XEXP (x3, 1);
      operands[3] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern522 (x3, E_SImode) != 0
              || !aarch64_simd_shift_imm_offset_si (operands[2], E_VOIDmode)
              || !aarch64_simd_shift_imm_si (operands[3], E_VOIDmode)
              || !
#line 5917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
            return -1;
          return 796; /* *ashiftsi_extv_bfiz */

        case E_DImode:
          if (pattern522 (x3, E_DImode) != 0
              || !aarch64_simd_shift_imm_offset_di (operands[2], E_VOIDmode)
              || !aarch64_simd_shift_imm_di (operands[3], E_VOIDmode)
              || !
#line 5917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (DImode) - 1)))
            return -1;
          return 797; /* *ashiftdi_extv_bfiz */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_435 (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 E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode)
          || !(
#line 6590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 992; /* *sqrthf2 */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 6590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 993; /* *sqrtsf2 */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 6590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 994; /* *sqrtdf2 */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !(
#line 6729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 3514; /* *sqrtv4hf2 */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || GET_MODE (x3) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !(
#line 6729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 3515; /* *sqrtv8hf2 */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 6729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3516; /* *sqrtv2sf2 */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 6729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3517; /* *sqrtv4sf2 */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || GET_MODE (x3) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 6729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3518; /* *sqrtv2df2 */

    default:
      return -1;
    }
}

static int
recog_436 (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:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_DFmode:
          if (!register_operand (operands[0], E_DFmode)
              || GET_MODE (x3) != E_DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_SFmode:
              if (!register_operand (operands[1], E_SFmode)
                  || !
#line 6217 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 913; /* extendsfdf2 */

            case E_HFmode:
              if (!register_operand (operands[1], E_HFmode)
                  || !
#line 6233 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 915; /* extendhfdf2 */

            default:
              return -1;
            }

        case E_SFmode:
          if (!register_operand (operands[0], E_SFmode)
              || GET_MODE (x3) != E_SFmode
              || !register_operand (operands[1], E_HFmode)
              || !
#line 6225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 914; /* extendhfsf2 */

        case E_V2DFmode:
          if (!register_operand (operands[0], E_V2DFmode)
              || GET_MODE (x3) != E_V2DFmode
              || !register_operand (operands[1], E_V2SFmode)
              || !
#line 3208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2322; /* aarch64_float_extend_lo_v2df */

        case E_V4SFmode:
          if (!register_operand (operands[0], E_V4SFmode)
              || GET_MODE (x3) != E_V4SFmode
              || !register_operand (operands[1], E_V4HFmode)
              || !
#line 3208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2323; /* aarch64_float_extend_lo_v4sf */

        default:
          return -1;
        }

    case VEC_SELECT:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_V4SFmode:
          if (pattern286 (x3, E_V8HFmode, E_V4HFmode, E_V4SFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[2], E_V8HFmode)
              && 
#line 3132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2298; /* aarch64_simd_vec_unpacks_lo_v8hf */
          if (!vect_par_cnst_hi_half (operands[2], E_V8HFmode)
              || !
#line 3188 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2320; /* aarch64_simd_vec_unpacks_hi_v8hf */

        case E_V2DFmode:
          if (pattern286 (x3, E_V4SFmode, E_V2SFmode, E_V2DFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[2], E_V4SFmode)
              && 
#line 3132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2299; /* aarch64_simd_vec_unpacks_lo_v4sf */
          if (!vect_par_cnst_hi_half (operands[2], E_V4SFmode)
              || !
#line 3188 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2321; /* aarch64_simd_vec_unpacks_hi_v4sf */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_437 (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;
  switch (pattern5 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case SUBREG:
        case TRUNCATE:
          switch (pattern335 (x2))
            {
            case 0:
              if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return 677; /* *aarch64_ashr_reg_si3_mask1 */
              break;

            case 1:
              if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return 681; /* *aarch64_ashr_reg_di3_mask1 */
              break;

            case 2:
              if (
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 695; /* *aarch64_ashr_reg_di3_mask2 */
              break;

            case 3:
              if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return 685; /* *aarch64_ashr_reg_si3_neg_mask2 */
              break;

            case 4:
              if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 689; /* *aarch64_ashr_reg_di3_neg_mask2 */
              break;

            default:
              break;
            }
          break;

        case CONST_INT:
          switch (pattern336 (x2))
            {
            case 0:
              if (
#line 5487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
                return 722; /* *ashrqi3_insn */
              break;

            case 1:
              if (
#line 5487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
                return 725; /* *ashrhi3_insn */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      operands[2] = x3;
      if (!aarch64_reg_or_shift_imm_di (operands[2], E_QImode))
        return -1;
      switch (pattern1 (x2))
        {
        case 0:
          return 708; /* *aarch64_ashr_sisd_or_int_si3 */

        case 1:
          return 709; /* *aarch64_ashr_sisd_or_int_di3 */

        default:
          return -1;
        }

    case 1:
      if (!
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
        return -1;
      return 699; /* *aarch64_ashr_reg_minussi3 */

    case 2:
      if (!
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
        return -1;
      return 702; /* *aarch64_ashr_reg_minusdi3 */

    case 3:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1747; /* aarch64_simd_ashrv8qi */

    case 4:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1748; /* aarch64_simd_ashrv16qi */

    case 5:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1749; /* aarch64_simd_ashrv4hi */

    case 6:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1750; /* aarch64_simd_ashrv8hi */

    case 7:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1751; /* aarch64_simd_ashrv2si */

    case 8:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1752; /* aarch64_simd_ashrv4si */

    case 9:
      if (!
#line 1134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1753; /* aarch64_simd_ashrv2di */

    case 10:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6645; /* *post_ra_vashrvnx16qi3 */

    case 11:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6648; /* *post_ra_vashrvnx8qi3 */

    case 12:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6651; /* *post_ra_vashrvnx4qi3 */

    case 13:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6654; /* *post_ra_vashrvnx2qi3 */

    case 14:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6657; /* *post_ra_vashrvnx8hi3 */

    case 15:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6660; /* *post_ra_vashrvnx4hi3 */

    case 16:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6663; /* *post_ra_vashrvnx2hi3 */

    case 17:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6666; /* *post_ra_vashrvnx4si3 */

    case 18:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6669; /* *post_ra_vashrvnx2si3 */

    case 19:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6672; /* *post_ra_vashrvnx2di3 */

    default:
      return -1;
    }
}

static int
recog_438 (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;
  switch (pattern5 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case SUBREG:
        case TRUNCATE:
          switch (pattern335 (x2))
            {
            case 0:
              if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return 678; /* *aarch64_lshr_reg_si3_mask1 */
              break;

            case 1:
              if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return 682; /* *aarch64_lshr_reg_di3_mask1 */
              break;

            case 2:
              if (
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 696; /* *aarch64_lshr_reg_di3_mask2 */
              break;

            case 3:
              if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return 686; /* *aarch64_lshr_reg_si3_neg_mask2 */
              break;

            case 4:
              if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 690; /* *aarch64_lshr_reg_di3_neg_mask2 */
              break;

            default:
              break;
            }
          break;

        case CONST_INT:
          switch (pattern336 (x2))
            {
            case 0:
              if (
#line 5487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
                return 723; /* *lshrqi3_insn */
              break;

            case 1:
              if (
#line 5487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
                return 726; /* *lshrhi3_insn */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      operands[2] = x3;
      switch (pattern337 (x2))
        {
        case 0:
          return 706; /* *aarch64_lshr_sisd_or_int_si3 */

        case 1:
          return 707; /* *aarch64_lshr_sisd_or_int_di3 */

        default:
          return -1;
        }

    case 1:
      if (!
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
        return -1;
      return 700; /* *aarch64_lshr_reg_minussi3 */

    case 2:
      if (!
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
        return -1;
      return 703; /* *aarch64_lshr_reg_minusdi3 */

    case 3:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1740; /* aarch64_simd_lshrv8qi */

    case 4:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1741; /* aarch64_simd_lshrv16qi */

    case 5:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1742; /* aarch64_simd_lshrv4hi */

    case 6:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1743; /* aarch64_simd_lshrv8hi */

    case 7:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1744; /* aarch64_simd_lshrv2si */

    case 8:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1745; /* aarch64_simd_lshrv4si */

    case 9:
      if (!
#line 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1746; /* aarch64_simd_lshrv2di */

    case 10:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6646; /* *post_ra_vlshrvnx16qi3 */

    case 11:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6649; /* *post_ra_vlshrvnx8qi3 */

    case 12:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6652; /* *post_ra_vlshrvnx4qi3 */

    case 13:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6655; /* *post_ra_vlshrvnx2qi3 */

    case 14:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6658; /* *post_ra_vlshrvnx8hi3 */

    case 15:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6661; /* *post_ra_vlshrvnx4hi3 */

    case 16:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6664; /* *post_ra_vlshrvnx2hi3 */

    case 17:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6667; /* *post_ra_vlshrvnx4si3 */

    case 18:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6670; /* *post_ra_vlshrvnx2si3 */

    case 19:
      if (!
#line 4608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6673; /* *post_ra_vlshrvnx2di3 */

    default:
      return -1;
    }
}

static int
recog_439 (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 CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
      switch (pattern271 (x3))
        {
        case 0:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2758; /* aarch64_uqsubv8qi */

        case 1:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2762; /* aarch64_uqsubv16qi */

        case 2:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2766; /* aarch64_uqsubv4hi */

        case 3:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2770; /* aarch64_uqsubv8hi */

        case 4:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2774; /* aarch64_uqsubv2si */

        case 5:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2778; /* aarch64_uqsubv4si */

        case 6:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2782; /* aarch64_uqsubv2di */

        case 7:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2786; /* aarch64_uqsubqi */

        case 8:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2790; /* aarch64_uqsubhi */

        case 9:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2794; /* aarch64_uqsubsi */

        case 10:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2798; /* aarch64_uqsubdi */

        case 11:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6495; /* aarch64_sve_ussubvnx16qi */

        case 12:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6497; /* aarch64_sve_ussubvnx8hi */

        case 13:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6499; /* aarch64_sve_ussubvnx4si */

        case 14:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6501; /* aarch64_sve_ussubvnx2di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern273 (x3))
        {
        case 0:
          if (!
#line 9997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8993; /* aarch64_sve_uqdecdi_pat */

        case 1:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9045; /* *aarch64_sve_uqdecdivnx16bi_cntp */

        case 2:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9048; /* *aarch64_sve_uqdecdivnx8bi_cntp */

        case 3:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9051; /* *aarch64_sve_uqdecdivnx4bi_cntp */

        case 4:
          if (!
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9054; /* *aarch64_sve_uqdecdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern274 (x3))
        {
        case 0:
          if (!
#line 10062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8999; /* aarch64_sve_uqdecvnx2di_pat */

        case 1:
          if (!
#line 10522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9069; /* *aarch64_sve_uqdecvnx2di_cntp */

        case 2:
          if (!
#line 10083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9002; /* aarch64_sve_uqdecvnx4si_pat */

        case 3:
          if (!
#line 10561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9072; /* *aarch64_sve_uqdecvnx4si_cntp */

        case 4:
          if (!
#line 10118 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9005; /* *aarch64_sve_uqdecvnx8hi_pat */

        case 5:
          if (!
#line 10602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9075; /* *aarch64_sve_uqdecvnx8hi_cntp */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_440 (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 (pattern271 (x3))
        {
        case 0:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2756; /* aarch64_uqaddv8qi */

        case 1:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2760; /* aarch64_uqaddv16qi */

        case 2:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2764; /* aarch64_uqaddv4hi */

        case 3:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2768; /* aarch64_uqaddv8hi */

        case 4:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2772; /* aarch64_uqaddv2si */

        case 5:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2776; /* aarch64_uqaddv4si */

        case 6:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2780; /* aarch64_uqaddv2di */

        case 7:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2784; /* aarch64_uqaddqi */

        case 8:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2788; /* aarch64_uqaddhi */

        case 9:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2792; /* aarch64_uqaddsi */

        case 10:
          if (!
#line 4974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2796; /* aarch64_uqadddi */

        case 11:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6494; /* aarch64_sve_usaddvnx16qi */

        case 12:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6496; /* aarch64_sve_usaddvnx8hi */

        case 13:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6498; /* aarch64_sve_usaddvnx4si */

        case 14:
          if (!
#line 4177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6500; /* aarch64_sve_usaddvnx2di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern163 (x3))
        {
        case 0:
          if (!
#line 9847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8978; /* aarch64_sve_uqincdi_pat */

        case 1:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9012; /* *aarch64_sve_uqincdivnx16bi_cntp */

        case 2:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9015; /* *aarch64_sve_uqincdivnx8bi_cntp */

        case 3:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9018; /* *aarch64_sve_uqincdivnx4bi_cntp */

        case 4:
          if (!
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9021; /* *aarch64_sve_uqincdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern167 (x3))
        {
        case 0:
          if (!
#line 9912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8984; /* aarch64_sve_uqincvnx2di_pat */

        case 1:
          if (!
#line 10289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9036; /* *aarch64_sve_uqincvnx2di_cntp */

        case 2:
          if (!
#line 9933 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8987; /* aarch64_sve_uqincvnx4si_pat */

        case 3:
          if (!
#line 10328 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9039; /* *aarch64_sve_uqincvnx4si_cntp */

        case 4:
          if (!
#line 9968 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8990; /* *aarch64_sve_uqincvnx8hi_pat */

        case 5:
          if (!
#line 10369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9042; /* *aarch64_sve_uqincvnx8hi_cntp */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_441 (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 E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 799; /* bswapsi2 */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode))
        return -1;
      return 800; /* bswapdi2 */

    case E_HImode:
      if (!register_operand (operands[0], E_HImode)
          || GET_MODE (x3) != E_HImode
          || !register_operand (operands[1], E_HImode))
        return -1;
      return 801; /* bswaphi2 */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x3) != E_V4HImode
          || !register_operand (operands[1], E_V4HImode)
          || !
#line 413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1448; /* bswapv4hi2 */

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x3) != E_V8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !
#line 413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1449; /* bswapv8hi2 */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1450; /* bswapv2si2 */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1451; /* bswapv4si2 */

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || GET_MODE (x3) != E_V2DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1452; /* bswapv2di2 */

    default:
      return -1;
    }
}

static int
recog_442 (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 (pattern15 (x1))
    {
    case 0:
      if (!
#line 6620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1000; /* sminsf3 */

    case 1:
      if (!
#line 6620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1001; /* smindf3 */

    case 2:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1839; /* sminv8qi3 */

    case 3:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1843; /* sminv16qi3 */

    case 4:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1847; /* sminv4hi3 */

    case 5:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1851; /* sminv8hi3 */

    case 6:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1855; /* sminv2si3 */

    case 7:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1859; /* sminv4si3 */

    case 8:
      if (!(
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2335; /* sminv4hf3 */

    case 9:
      if (!(
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2337; /* sminv8hf3 */

    case 10:
      if (!
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2339; /* sminv2sf3 */

    case 11:
      if (!
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2341; /* sminv4sf3 */

    case 12:
      if (!
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2343; /* sminv2df3 */

    case 13:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5814; /* *post_ra_sminvnx16qi3 */

    case 14:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5819; /* *post_ra_sminvnx8qi3 */

    case 15:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5824; /* *post_ra_sminvnx4qi3 */

    case 16:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5829; /* *post_ra_sminvnx2qi3 */

    case 17:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5834; /* *post_ra_sminvnx8hi3 */

    case 18:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5839; /* *post_ra_sminvnx4hi3 */

    case 19:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5844; /* *post_ra_sminvnx2hi3 */

    case 20:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5849; /* *post_ra_sminvnx4si3 */

    case 21:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5854; /* *post_ra_sminvnx2si3 */

    case 22:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5859; /* *post_ra_sminvnx2di3 */

    default:
      return -1;
    }
}

static int
recog_443 (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 (pattern15 (x1))
    {
    case 0:
      if (!
#line 6611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 998; /* smaxsf3 */

    case 1:
      if (!
#line 6611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 999; /* smaxdf3 */

    case 2:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1838; /* smaxv8qi3 */

    case 3:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1842; /* smaxv16qi3 */

    case 4:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1846; /* smaxv4hi3 */

    case 5:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1850; /* smaxv8hi3 */

    case 6:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1854; /* smaxv2si3 */

    case 7:
      if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1858; /* smaxv4si3 */

    case 8:
      if (!(
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2334; /* smaxv4hf3 */

    case 9:
      if (!(
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2336; /* smaxv8hf3 */

    case 10:
      if (!
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2338; /* smaxv2sf3 */

    case 11:
      if (!
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2340; /* smaxv4sf3 */

    case 12:
      if (!
#line 3368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2342; /* smaxv2df3 */

    case 13:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5813; /* *post_ra_smaxvnx16qi3 */

    case 14:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5818; /* *post_ra_smaxvnx8qi3 */

    case 15:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5823; /* *post_ra_smaxvnx4qi3 */

    case 16:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5828; /* *post_ra_smaxvnx2qi3 */

    case 17:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5833; /* *post_ra_smaxvnx8hi3 */

    case 18:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5838; /* *post_ra_smaxvnx4hi3 */

    case 19:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5843; /* *post_ra_smaxvnx2hi3 */

    case 20:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5848; /* *post_ra_smaxvnx4si3 */

    case 21:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5853; /* *post_ra_smaxvnx2si3 */

    case 22:
      if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5858; /* *post_ra_smaxvnx2di3 */

    default:
      return -1;
    }
}

static int
recog_444 (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, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
    {
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x5 = XEXP (x2, 0);
      operands[2] = x5;
      if (cc_register (operands[2], E_VOIDmode))
        {
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (register_operand (operands[0], E_QImode)
                  && aarch64_comparison_operator_mode (operands[1], E_QImode))
                return 442; /* aarch64_cstoreqi */
              break;

            case E_HImode:
              if (register_operand (operands[0], E_HImode)
                  && aarch64_comparison_operator_mode (operands[1], E_HImode))
                return 443; /* aarch64_cstorehi */
              break;

            case E_SImode:
              if (register_operand (operands[0], E_SImode)
                  && aarch64_comparison_operator_mode (operands[1], E_SImode))
                return 444; /* aarch64_cstoresi */
              break;

            case E_DImode:
              if (register_operand (operands[0], E_DImode)
                  && aarch64_comparison_operator_mode (operands[1], E_DImode))
                return 445; /* aarch64_cstoredi */
              break;

            default:
              break;
            }
        }
    }
  if (pnum_clobbers == NULL)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 0);
  operands[1] = x5;
  operands[2] = x3;
  switch (GET_CODE (x2))
    {
    case EQ:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern483 (x2, E_SImode) != 0
              || !
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed))
            return -1;
          *pnum_clobbers = 1;
          return 446; /* *compare_cstoresi_insn */

        case E_DImode:
          if (pattern483 (x2, E_DImode) != 0
              || !
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed))
            return -1;
          *pnum_clobbers = 1;
          return 448; /* *compare_cstoredi_insn */

        default:
          return -1;
        }

    case NE:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern483 (x2, E_SImode) != 0
              || !
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed))
            return -1;
          *pnum_clobbers = 1;
          return 447; /* *compare_cstoresi_insn */

        case E_DImode:
          if (pattern483 (x2, E_DImode) != 0
              || !
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed))
            return -1;
          *pnum_clobbers = 1;
          return 449; /* *compare_cstoredi_insn */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_445 (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 REG:
    case SUBREG:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      if (subreg_lowpart_operator (x5, E_VOIDmode))
        {
          operands[4] = x5;
          switch (pattern334 (x3))
            {
            case 0:
              if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return 679; /* *aarch64_rotr_reg_si3_mask1 */
              break;

            case 1:
              if (
#line 5191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return 683; /* *aarch64_rotr_reg_di3_mask1 */
              break;

            case 2:
              if (
#line 5255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 697; /* *aarch64_rotr_reg_di3_mask2 */
              break;

            case 3:
              if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return 687; /* *aarch64_rotr_reg_si3_neg_mask2 */
              break;

            case 4:
              if (
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 691; /* *aarch64_rotr_reg_di3_neg_mask2 */
              break;

            default:
              break;
            }
        }
      operands[2] = x5;
      switch (pattern337 (x3))
        {
        case 0:
          return 715; /* *rorsi3_insn */

        case 1:
          return 716; /* *rordi3_insn */

        default:
          return -1;
        }

    case XOR:
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x4, 1);
      operands[2] = x7;
      x5 = XEXP (x3, 1);
      operands[3] = x5;
      switch (GET_CODE (operands[3]))
        {
        case CONST_INT:
          if (!aarch64_simd_shift_imm_di (operands[3], E_SImode)
              || pattern182 (x3, E_V2DImode) != 0
              || !
#line 8272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && TARGET_SHA3))
            return -1;
          return 4255; /* aarch64_xarqv2di */

        case CONST_VECTOR:
        case CONST:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern523 (x3, E_VNx16QImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9372; /* aarch64_sve2_xarvnx16qi */

            case E_VNx8HImode:
              if (pattern523 (x3, E_VNx8HImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9373; /* aarch64_sve2_xarvnx8hi */

            case E_VNx4SImode:
              if (pattern523 (x3, E_VNx4SImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9374; /* aarch64_sve2_xarvnx4si */

            case E_VNx2DImode:
              if (pattern523 (x3, E_VNx2DImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9375; /* aarch64_sve2_xarvnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_446 (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 UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
      if (aarch64_comparison_operator (x3, E_VOIDmode))
        {
          res = recog_1 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      x4 = XEXP (x3, 1);
      if (GET_CODE (x4) == CONST_INT)
        {
          res = recog_2 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      operands[1] = x3;
      if (!aarch64_comparison_operation (operands[1], E_VOIDmode))
        return -1;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x6 = XEXP (x2, 1);
      switch (GET_CODE (x6))
        {
        case PLUS:
          x7 = XEXP (x6, 1);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          switch (pattern368 (x2))
            {
            case 0:
              return 474; /* csinc3si_insn */

            case 1:
              return 475; /* csinc3di_insn */

            default:
              return -1;
            }

        case NOT:
          switch (pattern368 (x2))
            {
            case 0:
              return 476; /* *csinv3si_insn */

            case 1:
              return 477; /* *csinv3di_insn */

            default:
              return -1;
            }

        case NEG:
          switch (pattern368 (x2))
            {
            case 0:
              return 480; /* csneg3si_insn */

            case 1:
              return 481; /* csneg3di_insn */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x6) != E_DImode
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x2) != E_DImode)
            return -1;
          x8 = XEXP (x6, 0);
          switch (GET_CODE (x8))
            {
            case REG:
            case SUBREG:
              operands[2] = x8;
              if (!register_operand (operands[2], E_SImode))
                return -1;
              x9 = XEXP (x2, 2);
              if (GET_CODE (x9) != ZERO_EXTEND
                  || GET_MODE (x9) != E_DImode)
                return -1;
              x10 = XEXP (x9, 0);
              if (GET_MODE (x10) != E_SImode)
                return -1;
              switch (GET_CODE (x10))
                {
                case NEG:
                  x11 = XEXP (x10, 0);
                  operands[3] = x11;
                  if (!register_operand (operands[3], E_SImode))
                    return -1;
                  return 482; /* *csinv3_uxtw_insn1 */

                case NOT:
                  x11 = XEXP (x10, 0);
                  operands[3] = x11;
                  if (!register_operand (operands[3], E_SImode))
                    return -1;
                  return 483; /* *csinv3_uxtw_insn1 */

                default:
                  return -1;
                }

            case NEG:
              switch (pattern619 (x2))
                {
                case 0:
                  return 484; /* *csinv3_uxtw_insn2 */

                case 1:
                  return 486; /* *csinv3_uxtw_insn3 */

                default:
                  return -1;
                }

            case NOT:
              switch (pattern619 (x2))
                {
                case 0:
                  return 485; /* *csinv3_uxtw_insn2 */

                case 1:
                  return 487; /* *csinv3_uxtw_insn3 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_447 (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 E_VNx16QImode:
      if (pattern350 (x3, E_QImode, E_VNx16QImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5147; /* vec_seriesvnx16qi */

    case E_VNx8QImode:
      if (pattern350 (x3, E_QImode, E_VNx8QImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5148; /* vec_seriesvnx8qi */

    case E_VNx4QImode:
      if (pattern350 (x3, E_QImode, E_VNx4QImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5149; /* vec_seriesvnx4qi */

    case E_VNx2QImode:
      if (pattern350 (x3, E_QImode, E_VNx2QImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5150; /* vec_seriesvnx2qi */

    case E_VNx8HImode:
      if (pattern350 (x3, E_HImode, E_VNx8HImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5151; /* vec_seriesvnx8hi */

    case E_VNx4HImode:
      if (pattern350 (x3, E_HImode, E_VNx4HImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5152; /* vec_seriesvnx4hi */

    case E_VNx2HImode:
      if (pattern350 (x3, E_HImode, E_VNx2HImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5153; /* vec_seriesvnx2hi */

    case E_VNx4SImode:
      if (pattern350 (x3, E_SImode, E_VNx4SImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5154; /* vec_seriesvnx4si */

    case E_VNx2SImode:
      if (pattern350 (x3, E_SImode, E_VNx2SImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5155; /* vec_seriesvnx2si */

    case E_VNx2DImode:
      if (pattern350 (x3, E_DImode, E_VNx2DImode) != 0
          || !
#line 2657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5156; /* vec_seriesvnx2di */

    default:
      return -1;
    }
}

static int
recog_448 (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);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != E_DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 2
      || XINT (x4, 1) != 5)
    return -1;
  x5 = XEXP (x2, 0);
  if (GET_CODE (x5) != PC)
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  if (pattern184 (x6, E_CCmode, 66) != 0)
    return -1;
  x7 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x7) != USE)
    return -1;
  x8 = XEXP (x7, 0);
  if (GET_CODE (x8) != LABEL_REF
      || GET_MODE (x8) != E_DImode)
    return -1;
  x9 = XVECEXP (x4, 0, 0);
  operands[0] = x9;
  if (!register_operand (operands[0], E_DImode))
    return -1;
  x10 = XVECEXP (x4, 0, 1);
  operands[1] = x10;
  if (!register_operand (operands[1], E_SImode))
    return -1;
  x11 = XVECEXP (x1, 0, 2);
  x12 = XEXP (x11, 0);
  operands[3] = x12;
  if (!scratch_operand (operands[3], E_DImode))
    return -1;
  x13 = XEXP (x8, 0);
  operands[2] = x13;
  return 24; /* *casesi_dispatch */
}

static int
recog_449 (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 (XWINT (x4, 0) != 0L)
    return -1;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[1] = x5;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x6, 1);
      if (GET_CODE (x7) != NEG
          || GET_MODE (x7) != E_DImode
          || !register_operand (operands[0], E_DImode))
        return -1;
      x8 = XEXP (x7, 0);
      if (!rtx_equal_p (x8, operands[1]))
        return -1;
      return 281; /* negdi_carryout */

    case PLUS:
      x9 = XEXP (x5, 0);
      if (GET_CODE (x9) != ZERO_EXTEND)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x6, 1);
      if (GET_CODE (x7) != MINUS)
        return -1;
      x8 = XEXP (x7, 0);
      if (GET_CODE (x8) != NEG)
        return -1;
      x10 = XEXP (x9, 0);
      operands[1] = x10;
      x11 = XEXP (x5, 1);
      operands[2] = x11;
      x12 = XEXP (x7, 1);
      operands[3] = x12;
      x13 = XEXP (x8, 0);
      if (!rtx_equal_p (x13, operands[1]))
        return -1;
      switch (GET_MODE (x5))
        {
        case E_DImode:
          if (pattern908 (x1, E_SImode, E_DImode) != 0)
            return -1;
          return 340; /* *usubsi3_carryinC_z1 */

        case E_TImode:
          if (pattern908 (x1, E_DImode, E_TImode) != 0)
            return -1;
          return 341; /* *usubdi3_carryinC_z1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_450 (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, 0);
  operands[1] = x4;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != PLUS)
    return -1;
  x7 = XEXP (x3, 1);
  operands[2] = x7;
  x8 = XEXP (x6, 1);
  operands[3] = x8;
  x9 = XEXP (x6, 0);
  if (!rtx_equal_p (x9, operands[1]))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case E_SImode:
      if (pattern863 (x6, E_SImode) != 0
          || !
#line 3154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == -UINTVAL (operands[3])))
        return -1;
      return 286; /* subsi3_compare1_imm */

    case E_DImode:
      if (pattern863 (x6, E_DImode) != 0
          || !
#line 3154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == -UINTVAL (operands[3])))
        return -1;
      return 287; /* subdi3_compare1_imm */

    default:
      return -1;
    }
}

static int
recog_451 (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);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      x7 = XEXP (x3, 1);
      switch (GET_CODE (x7))
        {
        case CONST_INT:
          if (XWINT (x7, 0) != 0L)
            return -1;
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_NZmode
              || GET_MODE (x3) != E_CC_NZmode)
            return -1;
          x9 = XVECEXP (x1, 0, 1);
          x10 = XEXP (x9, 1);
          switch (GET_CODE (x10))
            {
            case PLUS:
              switch (pattern843 (x1))
                {
                case 0:
                  return 128; /* addsi3_compare0 */

                case 1:
                  return 129; /* adddi3_compare0 */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern798 (x1, PLUS) != 0
                  || !aarch64_plus_operand (operands[2], E_SImode)
                  || !register_operand (operands[0], E_DImode))
                return -1;
              x11 = XEXP (x10, 0);
              x12 = XEXP (x11, 0);
              if (!rtx_equal_p (x12, operands[1]))
                return -1;
              x13 = XEXP (x11, 1);
              if (!rtx_equal_p (x13, operands[2]))
                return -1;
              return 130; /* *addsi3_compare0_uxtw */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          if (!rtx_equal_p (x7, operands[1]))
            return -1;
          x9 = XVECEXP (x1, 0, 1);
          x10 = XEXP (x9, 1);
          if (GET_CODE (x10) != PLUS)
            return -1;
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_Cmode
              || GET_MODE (x3) != E_CC_Cmode)
            return -1;
          switch (pattern843 (x1))
            {
            case 0:
              return 133; /* addsi3_compareC */

            case 1:
              return 134; /* adddi3_compareC */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x9 = XVECEXP (x1, 0, 1);
      x10 = XEXP (x9, 1);
      if (GET_CODE (x10) != PLUS)
        return -1;
      x14 = XEXP (x5, 0);
      operands[1] = x14;
      x6 = XEXP (x4, 1);
      switch (GET_CODE (x6))
        {
        case CONST_INT:
          operands[2] = x6;
          if (pattern721 (x2) != 0)
            return -1;
          switch (pattern862 (x1))
            {
            case 0:
              if (pattern912 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 139; /* addsi3_compareV_imm */

            case 1:
              if (pattern912 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 140; /* adddi3_compareV_imm */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern721 (x2) != 0)
            return -1;
          x15 = XEXP (x6, 0);
          operands[2] = x15;
          switch (pattern862 (x1))
            {
            case 0:
              if (pattern913 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 141; /* addsi3_compareV */

            case 1:
              if (pattern913 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 142; /* adddi3_compareV */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x6;
          x7 = XEXP (x3, 1);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x11 = XEXP (x10, 0);
          if (GET_CODE (x11) != SIGN_EXTEND)
            return -1;
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_NZmode
              || GET_MODE (x3) != E_CC_NZmode)
            return -1;
          switch (pattern845 (x1))
            {
            case 0:
              return 155; /* *adds_extendqi_si */

            case 1:
              return 159; /* *adds_extendhi_si */

            case 2:
              return 163; /* *adds_extendsi_si */

            case 3:
              return 157; /* *adds_extendqi_di */

            case 4:
              return 161; /* *adds_extendhi_di */

            case 5:
              return 165; /* *adds_extendsi_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFT:
      if (pattern604 (x1, ASHIFT) != 0)
        return -1;
      x16 = XEXP (x5, 1);
      operands[2] = x16;
      x6 = XEXP (x4, 1);
      operands[3] = x6;
      x9 = XVECEXP (x1, 0, 1);
      x10 = XEXP (x9, 1);
      x11 = XEXP (x10, 0);
      x13 = XEXP (x11, 1);
      if (!rtx_equal_p (x13, operands[2]))
        return -1;
      x17 = XEXP (x10, 1);
      if (!rtx_equal_p (x17, operands[3]))
        return -1;
      x14 = XEXP (x5, 0);
      switch (GET_CODE (x14))
        {
        case REG:
        case SUBREG:
          operands[1] = x14;
          x12 = XEXP (x11, 0);
          if (!rtx_equal_p (x12, operands[1]))
            return -1;
          switch (pattern606 (x1))
            {
            case 0:
              return 143; /* *adds_shift_imm_si */

            case 1:
              return 146; /* *adds_shift_imm_di */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern888 (x1, SIGN_EXTEND))
            {
            case 0:
              return 179; /* *adds_extendqi_shift_si */

            case 1:
              return 183; /* *adds_extendhi_shift_si */

            case 2:
              return 187; /* *adds_extendsi_shift_si */

            case 3:
              return 181; /* *adds_extendqi_shift_di */

            case 4:
              return 185; /* *adds_extendhi_shift_di */

            case 5:
              return 189; /* *adds_extendsi_shift_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern888 (x1, ZERO_EXTEND))
            {
            case 0:
              return 180; /* *adds_zero_extendqi_shift_si */

            case 1:
              return 184; /* *adds_zero_extendhi_shift_si */

            case 2:
              return 188; /* *adds_zero_extendsi_shift_si */

            case 3:
              return 182; /* *adds_zero_extendqi_shift_di */

            case 4:
              return 186; /* *adds_zero_extendhi_shift_di */

            case 5:
              return 190; /* *adds_zero_extendsi_shift_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern608 (x1, ASHIFTRT))
        {
        case 0:
          return 144; /* *adds_shift_imm_si */

        case 1:
          return 147; /* *adds_shift_imm_di */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern608 (x1, LSHIFTRT))
        {
        case 0:
          return 145; /* *adds_shift_imm_si */

        case 1:
          return 148; /* *adds_shift_imm_di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern604 (x1, ZERO_EXTEND) != 0)
        return -1;
      x14 = XEXP (x5, 0);
      operands[1] = x14;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (pattern845 (x1))
        {
        case 0:
          return 156; /* *adds_zero_extendqi_si */

        case 1:
          return 160; /* *adds_zero_extendhi_si */

        case 2:
          return 164; /* *adds_zero_extendsi_si */

        case 3:
          return 158; /* *adds_zero_extendqi_di */

        case 4:
          return 162; /* *adds_zero_extendhi_di */

        case 5:
          return 166; /* *adds_zero_extendsi_di */

        default:
          return -1;
        }

    case GEU:
    case LTU:
      operands[2] = x5;
      x9 = XVECEXP (x1, 0, 1);
      x10 = XEXP (x9, 1);
      if (GET_CODE (x10) != PLUS)
        return -1;
      x6 = XEXP (x4, 1);
      switch (GET_CODE (x6))
        {
        case ZERO_EXTEND:
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_ADCmode
              || GET_MODE (x3) != E_CC_ADCmode)
            return -1;
          x15 = XEXP (x6, 0);
          operands[1] = x15;
          x7 = XEXP (x3, 1);
          operands[4] = x7;
          if (!const_scalar_int_operand (operands[4], E_VOIDmode))
            return -1;
          x11 = XEXP (x10, 0);
          operands[3] = x11;
          x17 = XEXP (x10, 1);
          if (!rtx_equal_p (x17, operands[1]))
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern898 (x1, E_SImode, E_DImode) != 0
                  || !
#line 2746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[4], DImode)
   == (wi::shwi (1, DImode) << (unsigned) GET_MODE_BITSIZE (SImode))))
                return -1;
              return 257; /* *addsi3_carryinC_zero */

            case E_TImode:
              if (pattern898 (x1, E_DImode, E_TImode) != 0
                  || !
#line 2746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[4], TImode)
   == (wi::shwi (1, TImode) << (unsigned) GET_MODE_BITSIZE (DImode))))
                return -1;
              return 258; /* *adddi3_carryinC_zero */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) != SIGN_EXTEND)
            return -1;
          x18 = XEXP (x7, 0);
          if (GET_CODE (x18) != PLUS)
            return -1;
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_Vmode
              || GET_MODE (x3) != E_CC_Vmode)
            return -1;
          x15 = XEXP (x6, 0);
          operands[1] = x15;
          x19 = XEXP (x18, 0);
          operands[3] = x19;
          x20 = XEXP (x18, 1);
          if (!rtx_equal_p (x20, operands[1]))
            return -1;
          x11 = XEXP (x10, 0);
          if (!rtx_equal_p (x11, operands[3]))
            return -1;
          x17 = XEXP (x10, 1);
          if (!rtx_equal_p (x17, operands[1]))
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern914 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 261; /* *addsi3_carryinV_zero */

            case E_TImode:
              if (pattern914 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 262; /* *adddi3_carryinV_zero */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PLUS:
      x9 = XVECEXP (x1, 0, 1);
      x10 = XEXP (x9, 1);
      if (GET_CODE (x10) != PLUS)
        return -1;
      x11 = XEXP (x10, 0);
      if (GET_CODE (x11) != PLUS)
        return -1;
      x14 = XEXP (x5, 0);
      operands[3] = x14;
      x16 = XEXP (x5, 1);
      switch (GET_CODE (x16))
        {
        case ZERO_EXTEND:
          x6 = XEXP (x4, 1);
          if (GET_CODE (x6) != ZERO_EXTEND)
            return -1;
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_ADCmode
              || GET_MODE (x3) != E_CC_ADCmode)
            return -1;
          x21 = XEXP (x16, 0);
          operands[1] = x21;
          x15 = XEXP (x6, 0);
          operands[2] = x15;
          x7 = XEXP (x3, 1);
          operands[5] = x7;
          if (!const_scalar_int_operand (operands[5], E_VOIDmode))
            return -1;
          x12 = XEXP (x11, 0);
          operands[4] = x12;
          x13 = XEXP (x11, 1);
          if (!rtx_equal_p (x13, operands[1]))
            return -1;
          x17 = XEXP (x10, 1);
          if (!rtx_equal_p (x17, operands[2]))
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern930 (x1, E_SImode, E_DImode) != 0
                  || !
#line 2766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[5], DImode)
   == (wi::shwi (1, DImode) << (unsigned) GET_MODE_BITSIZE (SImode))))
                return -1;
              return 259; /* *addsi3_carryinC */

            case E_TImode:
              if (pattern930 (x1, E_DImode, E_TImode) != 0
                  || !
#line 2766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[5], TImode)
   == (wi::shwi (1, TImode) << (unsigned) GET_MODE_BITSIZE (DImode))))
                return -1;
              return 260; /* *adddi3_carryinC */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          x6 = XEXP (x4, 1);
          if (GET_CODE (x6) != SIGN_EXTEND)
            return -1;
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) != SIGN_EXTEND)
            return -1;
          x18 = XEXP (x7, 0);
          if (GET_CODE (x18) != PLUS)
            return -1;
          x19 = XEXP (x18, 0);
          if (GET_CODE (x19) != PLUS)
            return -1;
          x8 = XEXP (x2, 0);
          if (GET_MODE (x8) != E_CC_Vmode
              || GET_MODE (x3) != E_CC_Vmode)
            return -1;
          x21 = XEXP (x16, 0);
          operands[1] = x21;
          x15 = XEXP (x6, 0);
          operands[2] = x15;
          x22 = XEXP (x19, 0);
          operands[4] = x22;
          x23 = XEXP (x19, 1);
          if (!rtx_equal_p (x23, operands[1]))
            return -1;
          x20 = XEXP (x18, 1);
          if (!rtx_equal_p (x20, operands[2]))
            return -1;
          x12 = XEXP (x11, 0);
          if (!rtx_equal_p (x12, operands[4]))
            return -1;
          x13 = XEXP (x11, 1);
          if (!rtx_equal_p (x13, operands[1]))
            return -1;
          x17 = XEXP (x10, 1);
          if (!rtx_equal_p (x17, operands[2]))
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern942 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 263; /* *addsi3_carryinV */

            case E_TImode:
              if (pattern942 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 264; /* *adddi3_carryinV */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_452 (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);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case PLUS:
      if (GET_MODE (x5) != E_TImode)
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != LTU
          || GET_MODE (x6) != E_TImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != REG
          || REGNO (x7) != 66
          || GET_MODE (x7) != E_CCmode)
        return -1;
      x8 = XEXP (x6, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x9 = XEXP (x5, 1);
      if (GET_CODE (x9) != SIGN_EXTEND
          || GET_MODE (x9) != E_TImode)
        return -1;
      x10 = XEXP (x3, 1);
      if (GET_CODE (x10) != SIGN_EXTEND
          || GET_MODE (x10) != E_TImode)
        return -1;
      x11 = XEXP (x10, 0);
      if (GET_CODE (x11) != NEG
          || GET_MODE (x11) != E_DImode)
        return -1;
      x12 = XEXP (x11, 0);
      if (GET_CODE (x12) != PLUS
          || GET_MODE (x12) != E_DImode)
        return -1;
      x13 = XEXP (x12, 0);
      if (GET_CODE (x13) != LTU
          || GET_MODE (x13) != E_DImode)
        return -1;
      x14 = XEXP (x13, 0);
      if (GET_CODE (x14) != REG
          || REGNO (x14) != 66
          || GET_MODE (x14) != E_CCmode)
        return -1;
      x15 = XEXP (x13, 1);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x16 = XVECEXP (x1, 0, 1);
      x17 = XEXP (x16, 1);
      if (GET_CODE (x17) != NEG
          || GET_MODE (x17) != E_DImode)
        return -1;
      x18 = XEXP (x17, 0);
      if (GET_CODE (x18) != PLUS
          || GET_MODE (x18) != E_DImode)
        return -1;
      x19 = XEXP (x18, 0);
      if (GET_CODE (x19) != LTU
          || GET_MODE (x19) != E_DImode)
        return -1;
      x20 = XEXP (x19, 0);
      if (GET_CODE (x20) != REG
          || REGNO (x20) != 66
          || GET_MODE (x20) != E_CCmode)
        return -1;
      x21 = XEXP (x19, 1);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x22 = XEXP (x2, 0);
      if (GET_MODE (x22) != E_CC_Vmode
          || GET_MODE (x3) != E_CC_Vmode
          || GET_MODE (x4) != E_TImode)
        return -1;
      x23 = XEXP (x9, 0);
      operands[1] = x23;
      if (!register_operand (operands[1], E_DImode)
          || !register_operand (operands[0], E_DImode))
        return -1;
      x24 = XEXP (x12, 1);
      if (!rtx_equal_p (x24, operands[1]))
        return -1;
      x25 = XEXP (x18, 1);
      if (!rtx_equal_p (x25, operands[1]))
        return -1;
      return 282; /* negvdi_carryinV */

    case REG:
    case SUBREG:
      operands[1] = x5;
      x10 = XEXP (x3, 1);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x22 = XEXP (x2, 0);
      if (GET_MODE (x22) != E_CC_NZmode
          || GET_MODE (x3) != E_CC_NZmode)
        return -1;
      x16 = XVECEXP (x1, 0, 1);
      x17 = XEXP (x16, 1);
      switch (GET_CODE (x17))
        {
        case NEG:
          x18 = XEXP (x17, 0);
          if (!rtx_equal_p (x18, operands[1]))
            return -1;
          switch (GET_MODE (x4))
            {
            case E_SImode:
              if (!register_operand (operands[1], E_SImode)
                  || !register_operand (operands[0], E_SImode)
                  || GET_MODE (x17) != E_SImode)
                return -1;
              return 359; /* negsi2_compare0 */

            case E_DImode:
              if (!register_operand (operands[1], E_DImode)
                  || !register_operand (operands[0], E_DImode)
                  || GET_MODE (x17) != E_DImode)
                return -1;
              return 360; /* negdi2_compare0 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (pattern798 (x1, NEG) != 0
              || !register_operand (operands[0], E_DImode))
            return -1;
          x18 = XEXP (x17, 0);
          x19 = XEXP (x18, 0);
          if (!rtx_equal_p (x19, operands[1]))
            return -1;
          return 361; /* *negsi2_compare0_uxtw */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern609 (x1, ASHIFT))
        {
        case 0:
          return 362; /* *neg_lslsi3_compare0 */

        case 1:
          return 365; /* *neg_lsldi3_compare0 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern609 (x1, ASHIFTRT))
        {
        case 0:
          return 363; /* *neg_asrsi3_compare0 */

        case 1:
          return 366; /* *neg_asrdi3_compare0 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern609 (x1, LSHIFTRT))
        {
        case 0:
          return 364; /* *neg_lsrsi3_compare0 */

        case 1:
          return 367; /* *neg_lsrdi3_compare0 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_453 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8335; /* while_wrsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8345; /* while_wrdivnx2bi_ptest */
}

static int
recog_454 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8315; /* while_wrsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8325; /* while_wrdivnx4bi_ptest */
}

static int
recog_455 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8295; /* while_wrsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8305; /* while_wrdivnx8bi_ptest */
}

static int
recog_456 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8275; /* while_wrsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8285; /* while_wrdivnx16bi_ptest */
}

static int
recog_457 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8255; /* *while_wrsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8265; /* *while_wrdivnx2bi_cc */
}

static int
recog_458 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8235; /* *while_wrsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8245; /* *while_wrdivnx4bi_cc */
}

static int
recog_459 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8215; /* *while_wrsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8225; /* *while_wrdivnx8bi_cc */
}

static int
recog_460 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8195; /* *while_wrsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8205; /* *while_wrdivnx16bi_cc */
}

static int
recog_461 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8334; /* while_rwsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8344; /* while_rwdivnx2bi_ptest */
}

static int
recog_462 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8314; /* while_rwsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8324; /* while_rwdivnx4bi_ptest */
}

static int
recog_463 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8294; /* while_rwsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8304; /* while_rwdivnx8bi_ptest */
}

static int
recog_464 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8274; /* while_rwsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8284; /* while_rwdivnx16bi_ptest */
}

static int
recog_465 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8254; /* *while_rwsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8264; /* *while_rwdivnx2bi_cc */
}

static int
recog_466 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8234; /* *while_rwsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8244; /* *while_rwdivnx4bi_cc */
}

static int
recog_467 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8214; /* *while_rwsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8224; /* *while_rwdivnx8bi_cc */
}

static int
recog_468 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8194; /* *while_rwsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8204; /* *while_rwdivnx16bi_cc */
}

static int
recog_469 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8333; /* while_ugesivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8343; /* while_ugedivnx2bi_ptest */
}

static int
recog_470 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8313; /* while_ugesivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8323; /* while_ugedivnx4bi_ptest */
}

static int
recog_471 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8293; /* while_ugesivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8303; /* while_ugedivnx8bi_ptest */
}

static int
recog_472 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8273; /* while_ugesivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8283; /* while_ugedivnx16bi_ptest */
}

static int
recog_473 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8253; /* *while_ugesivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8263; /* *while_ugedivnx2bi_cc */
}

static int
recog_474 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8233; /* *while_ugesivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8243; /* *while_ugedivnx4bi_cc */
}

static int
recog_475 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8213; /* *while_ugesivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8223; /* *while_ugedivnx8bi_cc */
}

static int
recog_476 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8193; /* *while_ugesivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8203; /* *while_ugedivnx16bi_cc */
}

static int
recog_477 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8332; /* while_ugtsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8342; /* while_ugtdivnx2bi_ptest */
}

static int
recog_478 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8312; /* while_ugtsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8322; /* while_ugtdivnx4bi_ptest */
}

static int
recog_479 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8292; /* while_ugtsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8302; /* while_ugtdivnx8bi_ptest */
}

static int
recog_480 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8272; /* while_ugtsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8282; /* while_ugtdivnx16bi_ptest */
}

static int
recog_481 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8252; /* *while_ugtsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8262; /* *while_ugtdivnx2bi_cc */
}

static int
recog_482 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8232; /* *while_ugtsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8242; /* *while_ugtdivnx4bi_cc */
}

static int
recog_483 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8212; /* *while_ugtsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8222; /* *while_ugtdivnx8bi_cc */
}

static int
recog_484 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8192; /* *while_ugtsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8202; /* *while_ugtdivnx16bi_cc */
}

static int
recog_485 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8331; /* while_gtsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8341; /* while_gtdivnx2bi_ptest */
}

static int
recog_486 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8311; /* while_gtsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8321; /* while_gtdivnx4bi_ptest */
}

static int
recog_487 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8291; /* while_gtsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8301; /* while_gtdivnx8bi_ptest */
}

static int
recog_488 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8271; /* while_gtsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8281; /* while_gtdivnx16bi_ptest */
}

static int
recog_489 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8251; /* *while_gtsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8261; /* *while_gtdivnx2bi_cc */
}

static int
recog_490 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8231; /* *while_gtsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8241; /* *while_gtdivnx4bi_cc */
}

static int
recog_491 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8211; /* *while_gtsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8221; /* *while_gtdivnx8bi_cc */
}

static int
recog_492 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8191; /* *while_gtsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8201; /* *while_gtdivnx16bi_cc */
}

static int
recog_493 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8330; /* while_gesivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8340; /* while_gedivnx2bi_ptest */
}

static int
recog_494 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8310; /* while_gesivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8320; /* while_gedivnx4bi_ptest */
}

static int
recog_495 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8290; /* while_gesivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8300; /* while_gedivnx8bi_ptest */
}

static int
recog_496 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8270; /* while_gesivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8280; /* while_gedivnx16bi_ptest */
}

static int
recog_497 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8250; /* *while_gesivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8260; /* *while_gedivnx2bi_cc */
}

static int
recog_498 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8230; /* *while_gesivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8240; /* *while_gedivnx4bi_cc */
}

static int
recog_499 (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 (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8210; /* *while_gesivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8220; /* *while_gedivnx8bi_cc */
}

static int
recog_500 (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 (pattern727 (x1))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8186; /* *while_lesivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8196; /* *while_ledivnx16bi_cc */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8206; /* *while_lesivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8216; /* *while_ledivnx8bi_cc */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8226; /* *while_lesivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8236; /* *while_ledivnx4bi_cc */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8246; /* *while_lesivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8256; /* *while_ledivnx2bi_cc */

    case 4:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8266; /* while_lesivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8276; /* while_ledivnx16bi_ptest */

    case 5:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8286; /* while_lesivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8296; /* while_ledivnx8bi_ptest */

    case 6:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8306; /* while_lesivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8316; /* while_ledivnx4bi_ptest */

    case 7:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8326; /* while_lesivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8336; /* while_ledivnx2bi_ptest */

    case 8:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8187; /* *while_ultsivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8197; /* *while_ultdivnx16bi_cc */

    case 9:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8207; /* *while_ultsivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8217; /* *while_ultdivnx8bi_cc */

    case 10:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8227; /* *while_ultsivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8237; /* *while_ultdivnx4bi_cc */

    case 11:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8247; /* *while_ultsivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8257; /* *while_ultdivnx2bi_cc */

    case 12:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8267; /* while_ultsivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8277; /* while_ultdivnx16bi_ptest */

    case 13:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8287; /* while_ultsivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8297; /* while_ultdivnx8bi_ptest */

    case 14:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8307; /* while_ultsivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8317; /* while_ultdivnx4bi_ptest */

    case 15:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8327; /* while_ultsivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8337; /* while_ultdivnx2bi_ptest */

    case 16:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8188; /* *while_ulesivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8198; /* *while_uledivnx16bi_cc */

    case 17:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8208; /* *while_ulesivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8218; /* *while_uledivnx8bi_cc */

    case 18:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8228; /* *while_ulesivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8238; /* *while_uledivnx4bi_cc */

    case 19:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8248; /* *while_ulesivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8258; /* *while_uledivnx2bi_cc */

    case 20:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8268; /* while_ulesivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8278; /* while_uledivnx16bi_ptest */

    case 21:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8288; /* while_ulesivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8298; /* while_uledivnx8bi_ptest */

    case 22:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8308; /* while_ulesivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8318; /* while_uledivnx4bi_ptest */

    case 23:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8328; /* while_ulesivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8338; /* while_uledivnx2bi_ptest */

    case 24:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8189; /* *while_ltsivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8199; /* *while_ltdivnx16bi_cc */

    case 25:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8209; /* *while_ltsivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8219; /* *while_ltdivnx8bi_cc */

    case 26:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8229; /* *while_ltsivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8239; /* *while_ltdivnx4bi_cc */

    case 27:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8249; /* *while_ltsivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8259; /* *while_ltdivnx2bi_cc */

    case 28:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8269; /* while_ltsivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8279; /* while_ltdivnx16bi_ptest */

    case 29:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8289; /* while_ltsivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8299; /* while_ltdivnx8bi_ptest */

    case 30:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8309; /* while_ltsivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8319; /* while_ltdivnx4bi_ptest */

    case 31:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8329; /* while_ltsivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8339; /* while_ltdivnx2bi_ptest */

    case 32:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8190; /* *while_gesivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8200; /* *while_gedivnx16bi_cc */

    case 33:
      return recog_499 (x1, insn, pnum_clobbers);

    case 34:
      return recog_498 (x1, insn, pnum_clobbers);

    case 35:
      return recog_497 (x1, insn, pnum_clobbers);

    case 36:
      return recog_496 (x1, insn, pnum_clobbers);

    case 37:
      return recog_495 (x1, insn, pnum_clobbers);

    case 38:
      return recog_494 (x1, insn, pnum_clobbers);

    case 39:
      return recog_493 (x1, insn, pnum_clobbers);

    case 40:
      return recog_492 (x1, insn, pnum_clobbers);

    case 41:
      return recog_491 (x1, insn, pnum_clobbers);

    case 42:
      return recog_490 (x1, insn, pnum_clobbers);

    case 43:
      return recog_489 (x1, insn, pnum_clobbers);

    case 44:
      return recog_488 (x1, insn, pnum_clobbers);

    case 45:
      return recog_487 (x1, insn, pnum_clobbers);

    case 46:
      return recog_486 (x1, insn, pnum_clobbers);

    case 47:
      return recog_485 (x1, insn, pnum_clobbers);

    case 48:
      return recog_484 (x1, insn, pnum_clobbers);

    case 49:
      return recog_483 (x1, insn, pnum_clobbers);

    case 50:
      return recog_482 (x1, insn, pnum_clobbers);

    case 51:
      return recog_481 (x1, insn, pnum_clobbers);

    case 52:
      return recog_480 (x1, insn, pnum_clobbers);

    case 53:
      return recog_479 (x1, insn, pnum_clobbers);

    case 54:
      return recog_478 (x1, insn, pnum_clobbers);

    case 55:
      return recog_477 (x1, insn, pnum_clobbers);

    case 56:
      return recog_476 (x1, insn, pnum_clobbers);

    case 57:
      return recog_475 (x1, insn, pnum_clobbers);

    case 58:
      return recog_474 (x1, insn, pnum_clobbers);

    case 59:
      return recog_473 (x1, insn, pnum_clobbers);

    case 60:
      return recog_472 (x1, insn, pnum_clobbers);

    case 61:
      return recog_471 (x1, insn, pnum_clobbers);

    case 62:
      return recog_470 (x1, insn, pnum_clobbers);

    case 63:
      return recog_469 (x1, insn, pnum_clobbers);

    case 64:
      return recog_468 (x1, insn, pnum_clobbers);

    case 65:
      return recog_467 (x1, insn, pnum_clobbers);

    case 66:
      return recog_466 (x1, insn, pnum_clobbers);

    case 67:
      return recog_465 (x1, insn, pnum_clobbers);

    case 68:
      return recog_464 (x1, insn, pnum_clobbers);

    case 69:
      return recog_463 (x1, insn, pnum_clobbers);

    case 70:
      return recog_462 (x1, insn, pnum_clobbers);

    case 71:
      return recog_461 (x1, insn, pnum_clobbers);

    case 72:
      return recog_460 (x1, insn, pnum_clobbers);

    case 73:
      return recog_459 (x1, insn, pnum_clobbers);

    case 74:
      return recog_458 (x1, insn, pnum_clobbers);

    case 75:
      return recog_457 (x1, insn, pnum_clobbers);

    case 76:
      return recog_456 (x1, insn, pnum_clobbers);

    case 77:
      return recog_455 (x1, insn, pnum_clobbers);

    case 78:
      return recog_454 (x1, insn, pnum_clobbers);

    case 79:
      return recog_453 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_501 (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 = XVECEXP (x3, 0, 3);
  switch (GET_CODE (x4))
    {
    case CONST:
      switch (pattern723 (x1))
        {
        case 0:
          if (!
#line 979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4628; /* *aarch64_sve_ptruevnx16bi_cc */

        case 1:
          if (!
#line 1031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4632; /* *aarch64_sve_ptruevnx16bi_ptest */

        default:
          return -1;
        }

    case SUBREG:
      switch (pattern725 (x1))
        {
        case 0:
          if (!
#line 1005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4629; /* *aarch64_sve_ptruevnx8bi_cc */

        case 1:
          if (!
#line 1005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4630; /* *aarch64_sve_ptruevnx4bi_cc */

        case 2:
          if (!
#line 1005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4631; /* *aarch64_sve_ptruevnx2bi_cc */

        case 3:
          if (!
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4633; /* *aarch64_sve_ptruevnx8bi_ptest */

        case 4:
          if (!
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4634; /* *aarch64_sve_ptruevnx4bi_ptest */

        case 5:
          if (!
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4635; /* *aarch64_sve_ptruevnx2bi_ptest */

        default:
          return -1;
        }

    case REG:
      if (REGNO (x4) != 85
          || GET_MODE (x4) != E_VNx16BImode)
        return -1;
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_VNx16BImode))
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (!rtx_equal_p (x6, operands[1]))
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x7))
        {
        case CLOBBER:
          x8 = XEXP (x7, 0);
          operands[0] = x8;
          if (!scratch_operand (operands[0], E_VNx16BImode)
              || !
#line 1166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4642; /* *aarch64_rdffr_ptest */

        case SET:
          x9 = XEXP (x7, 1);
          if (GET_CODE (x9) != REG
              || REGNO (x9) != 85
              || GET_MODE (x9) != E_VNx16BImode)
            return -1;
          x8 = XEXP (x7, 0);
          operands[0] = x8;
          if (!register_operand (operands[0], E_VNx16BImode)
              || !
#line 1200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4644; /* *aarch64_rdffr_cc */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_500 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_502 (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, 1);
  x4 = XVECEXP (x3, 0, 3);
  x5 = XVECEXP (x4, 0, 2);
  if (XVECLEN (x5, 0) != 2)
    return -1;
  x6 = XVECEXP (x5, 0, 0);
  operands[2] = x6;
  x7 = XVECEXP (x5, 0, 1);
  operands[3] = x7;
  switch (XINT (x5, 1))
    {
    case 323:
      switch (pattern938 (x1, 323))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8046; /* *aarch64_pred_cmpeqvnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8056; /* *aarch64_pred_cmpeqvnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8066; /* *aarch64_pred_cmpeqvnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8076; /* *aarch64_pred_cmpeqvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8086; /* *aarch64_pred_cmpeqvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8096; /* *aarch64_pred_cmpeqvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 324:
      switch (pattern938 (x1, 324))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8047; /* *aarch64_pred_cmpgevnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8057; /* *aarch64_pred_cmpgevnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8067; /* *aarch64_pred_cmpgevnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8077; /* *aarch64_pred_cmpgevnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8087; /* *aarch64_pred_cmpgevnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8097; /* *aarch64_pred_cmpgevnx4si_wide_ptest */

        default:
          return -1;
        }

    case 325:
      switch (pattern938 (x1, 325))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8048; /* *aarch64_pred_cmpgtvnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8058; /* *aarch64_pred_cmpgtvnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8068; /* *aarch64_pred_cmpgtvnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8078; /* *aarch64_pred_cmpgtvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8088; /* *aarch64_pred_cmpgtvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8098; /* *aarch64_pred_cmpgtvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 326:
      switch (pattern938 (x1, 326))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8049; /* *aarch64_pred_cmphivnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8059; /* *aarch64_pred_cmphivnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8069; /* *aarch64_pred_cmphivnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8079; /* *aarch64_pred_cmphivnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8089; /* *aarch64_pred_cmphivnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8099; /* *aarch64_pred_cmphivnx4si_wide_ptest */

        default:
          return -1;
        }

    case 327:
      switch (pattern938 (x1, 327))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8050; /* *aarch64_pred_cmphsvnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8060; /* *aarch64_pred_cmphsvnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8070; /* *aarch64_pred_cmphsvnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8080; /* *aarch64_pred_cmphsvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8090; /* *aarch64_pred_cmphsvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8100; /* *aarch64_pred_cmphsvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 328:
      switch (pattern938 (x1, 328))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8051; /* *aarch64_pred_cmplevnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8061; /* *aarch64_pred_cmplevnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8071; /* *aarch64_pred_cmplevnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8081; /* *aarch64_pred_cmplevnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8091; /* *aarch64_pred_cmplevnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8101; /* *aarch64_pred_cmplevnx4si_wide_ptest */

        default:
          return -1;
        }

    case 329:
      switch (pattern938 (x1, 329))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8052; /* *aarch64_pred_cmplovnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8062; /* *aarch64_pred_cmplovnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8072; /* *aarch64_pred_cmplovnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8082; /* *aarch64_pred_cmplovnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8092; /* *aarch64_pred_cmplovnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8102; /* *aarch64_pred_cmplovnx4si_wide_ptest */

        default:
          return -1;
        }

    case 330:
      switch (pattern938 (x1, 330))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8053; /* *aarch64_pred_cmplsvnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8063; /* *aarch64_pred_cmplsvnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8073; /* *aarch64_pred_cmplsvnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8083; /* *aarch64_pred_cmplsvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8093; /* *aarch64_pred_cmplsvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8103; /* *aarch64_pred_cmplsvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 331:
      switch (pattern938 (x1, 331))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8054; /* *aarch64_pred_cmpltvnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8064; /* *aarch64_pred_cmpltvnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8074; /* *aarch64_pred_cmpltvnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8084; /* *aarch64_pred_cmpltvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8094; /* *aarch64_pred_cmpltvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8104; /* *aarch64_pred_cmpltvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 332:
      switch (pattern938 (x1, 332))
        {
        case 0:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8055; /* *aarch64_pred_cmpnevnx16qi_wide_cc */

        case 1:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8065; /* *aarch64_pred_cmpnevnx8hi_wide_cc */

        case 2:
          if (!
#line 7927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8075; /* *aarch64_pred_cmpnevnx4si_wide_cc */

        case 3:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8085; /* *aarch64_pred_cmpnevnx16qi_wide_ptest */

        case 4:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8095; /* *aarch64_pred_cmpnevnx8hi_wide_ptest */

        case 5:
          if (!
#line 7950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8105; /* *aarch64_pred_cmpnevnx4si_wide_ptest */

        default:
          return -1;
        }

    case 433:
      switch (pattern941 (x1, 433))
        {
        case 0:
          if (!
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9949; /* *aarch64_pred_matchvnx16qi_cc */

        case 1:
          if (!
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9951; /* *aarch64_pred_matchvnx8hi_cc */

        case 2:
          if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9953; /* *aarch64_pred_matchvnx16qi_ptest */

        case 3:
          if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9955; /* *aarch64_pred_matchvnx8hi_ptest */

        default:
          return -1;
        }

    case 434:
      switch (pattern941 (x1, 434))
        {
        case 0:
          if (!
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9950; /* *aarch64_pred_nmatchvnx16qi_cc */

        case 1:
          if (!
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9952; /* *aarch64_pred_nmatchvnx8hi_cc */

        case 2:
          if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9954; /* *aarch64_pred_nmatchvnx16qi_ptest */

        case 3:
          if (!
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 9956; /* *aarch64_pred_nmatchvnx8hi_ptest */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_503 (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 (pattern924 (x1, GTU))
    {
    case 0:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7725; /* *cmphivnx16qi_cc */

    case 1:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7735; /* *cmphivnx8qi_cc */

    case 2:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7765; /* *cmphivnx8hi_cc */

    case 3:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7745; /* *cmphivnx4qi_cc */

    case 4:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7775; /* *cmphivnx4hi_cc */

    case 5:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7795; /* *cmphivnx4si_cc */

    case 6:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7755; /* *cmphivnx2qi_cc */

    case 7:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7785; /* *cmphivnx2hi_cc */

    case 8:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7805; /* *cmphivnx2si_cc */

    case 9:
      if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7815; /* *cmphivnx2di_cc */

    case 10:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7825; /* *cmphivnx16qi_ptest */

    case 11:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7835; /* *cmphivnx8qi_ptest */

    case 12:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7865; /* *cmphivnx8hi_ptest */

    case 13:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7845; /* *cmphivnx4qi_ptest */

    case 14:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7875; /* *cmphivnx4hi_ptest */

    case 15:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7895; /* *cmphivnx4si_ptest */

    case 16:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7855; /* *cmphivnx2qi_ptest */

    case 17:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7885; /* *cmphivnx2hi_ptest */

    case 18:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7905; /* *cmphivnx2si_ptest */

    case 19:
      if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7915; /* *cmphivnx2di_ptest */

    default:
      return -1;
    }
}

static int
recog_504 (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 = XVECEXP (x3, 0, 1);
  operands[4] = x4;
  x5 = XVECEXP (x3, 0, 2);
  operands[5] = x5;
  x6 = XVECEXP (x3, 0, 3);
  x7 = XVECEXP (x6, 0, 0);
  operands[6] = x7;
  x8 = XVECEXP (x6, 0, 1);
  operands[7] = x8;
  if (!aarch64_sve_ptrue_flag (operands[7], E_SImode))
    return -1;
  x9 = XVECEXP (x6, 0, 2);
  switch (GET_CODE (x9))
    {
    case LT:
      switch (pattern920 (x1, LT))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7716; /* *cmpltvnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7726; /* *cmpltvnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7756; /* *cmpltvnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7736; /* *cmpltvnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7766; /* *cmpltvnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7786; /* *cmpltvnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7746; /* *cmpltvnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7776; /* *cmpltvnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7796; /* *cmpltvnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7806; /* *cmpltvnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7816; /* *cmpltvnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7826; /* *cmpltvnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7856; /* *cmpltvnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7836; /* *cmpltvnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7866; /* *cmpltvnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7886; /* *cmpltvnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7846; /* *cmpltvnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7876; /* *cmpltvnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7896; /* *cmpltvnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7906; /* *cmpltvnx2di_ptest */

        default:
          return -1;
        }

    case LE:
      switch (pattern920 (x1, LE))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7717; /* *cmplevnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7727; /* *cmplevnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7757; /* *cmplevnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7737; /* *cmplevnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7767; /* *cmplevnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7787; /* *cmplevnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7747; /* *cmplevnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7777; /* *cmplevnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7797; /* *cmplevnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7807; /* *cmplevnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7817; /* *cmplevnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7827; /* *cmplevnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7857; /* *cmplevnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7837; /* *cmplevnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7867; /* *cmplevnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7887; /* *cmplevnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7847; /* *cmplevnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7877; /* *cmplevnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7897; /* *cmplevnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7907; /* *cmplevnx2di_ptest */

        default:
          return -1;
        }

    case EQ:
      switch (pattern920 (x1, EQ))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7718; /* *cmpeqvnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7728; /* *cmpeqvnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7758; /* *cmpeqvnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7738; /* *cmpeqvnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7768; /* *cmpeqvnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7788; /* *cmpeqvnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7748; /* *cmpeqvnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7778; /* *cmpeqvnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7798; /* *cmpeqvnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7808; /* *cmpeqvnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7818; /* *cmpeqvnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7828; /* *cmpeqvnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7858; /* *cmpeqvnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7838; /* *cmpeqvnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7868; /* *cmpeqvnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7888; /* *cmpeqvnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7848; /* *cmpeqvnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7878; /* *cmpeqvnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7898; /* *cmpeqvnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7908; /* *cmpeqvnx2di_ptest */

        default:
          return -1;
        }

    case NE:
      switch (pattern920 (x1, NE))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7719; /* *cmpnevnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7729; /* *cmpnevnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7759; /* *cmpnevnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7739; /* *cmpnevnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7769; /* *cmpnevnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7789; /* *cmpnevnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7749; /* *cmpnevnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7779; /* *cmpnevnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7799; /* *cmpnevnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7809; /* *cmpnevnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7819; /* *cmpnevnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7829; /* *cmpnevnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7859; /* *cmpnevnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7839; /* *cmpnevnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7869; /* *cmpnevnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7889; /* *cmpnevnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7849; /* *cmpnevnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7879; /* *cmpnevnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7899; /* *cmpnevnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7909; /* *cmpnevnx2di_ptest */

        default:
          return -1;
        }

    case GE:
      switch (pattern920 (x1, GE))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7720; /* *cmpgevnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7730; /* *cmpgevnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7760; /* *cmpgevnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7740; /* *cmpgevnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7770; /* *cmpgevnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7790; /* *cmpgevnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7750; /* *cmpgevnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7780; /* *cmpgevnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7800; /* *cmpgevnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7810; /* *cmpgevnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7820; /* *cmpgevnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7830; /* *cmpgevnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7860; /* *cmpgevnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7840; /* *cmpgevnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7870; /* *cmpgevnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7890; /* *cmpgevnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7850; /* *cmpgevnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7880; /* *cmpgevnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7900; /* *cmpgevnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7910; /* *cmpgevnx2di_ptest */

        default:
          return -1;
        }

    case GT:
      switch (pattern920 (x1, GT))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7721; /* *cmpgtvnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7731; /* *cmpgtvnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7761; /* *cmpgtvnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7741; /* *cmpgtvnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7771; /* *cmpgtvnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7791; /* *cmpgtvnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7751; /* *cmpgtvnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7781; /* *cmpgtvnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7801; /* *cmpgtvnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7811; /* *cmpgtvnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7821; /* *cmpgtvnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7831; /* *cmpgtvnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7861; /* *cmpgtvnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7841; /* *cmpgtvnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7871; /* *cmpgtvnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7891; /* *cmpgtvnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7851; /* *cmpgtvnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7881; /* *cmpgtvnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7901; /* *cmpgtvnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7911; /* *cmpgtvnx2di_ptest */

        default:
          return -1;
        }

    case LTU:
      switch (pattern924 (x1, LTU))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7722; /* *cmplovnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7732; /* *cmplovnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7762; /* *cmplovnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7742; /* *cmplovnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7772; /* *cmplovnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7792; /* *cmplovnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7752; /* *cmplovnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7782; /* *cmplovnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7802; /* *cmplovnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7812; /* *cmplovnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7822; /* *cmplovnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7832; /* *cmplovnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7862; /* *cmplovnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7842; /* *cmplovnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7872; /* *cmplovnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7892; /* *cmplovnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7852; /* *cmplovnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7882; /* *cmplovnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7902; /* *cmplovnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7912; /* *cmplovnx2di_ptest */

        default:
          return -1;
        }

    case LEU:
      switch (pattern924 (x1, LEU))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7723; /* *cmplsvnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7733; /* *cmplsvnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7763; /* *cmplsvnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7743; /* *cmplsvnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7773; /* *cmplsvnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7793; /* *cmplsvnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7753; /* *cmplsvnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7783; /* *cmplsvnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7803; /* *cmplsvnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7813; /* *cmplsvnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7823; /* *cmplsvnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7833; /* *cmplsvnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7863; /* *cmplsvnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7843; /* *cmplsvnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7873; /* *cmplsvnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7893; /* *cmplsvnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7853; /* *cmplsvnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7883; /* *cmplsvnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7903; /* *cmplsvnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7913; /* *cmplsvnx2di_ptest */

        default:
          return -1;
        }

    case GEU:
      switch (pattern924 (x1, GEU))
        {
        case 0:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7724; /* *cmphsvnx16qi_cc */

        case 1:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7734; /* *cmphsvnx8qi_cc */

        case 2:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7764; /* *cmphsvnx8hi_cc */

        case 3:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7744; /* *cmphsvnx4qi_cc */

        case 4:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7774; /* *cmphsvnx4hi_cc */

        case 5:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7794; /* *cmphsvnx4si_cc */

        case 6:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7754; /* *cmphsvnx2qi_cc */

        case 7:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7784; /* *cmphsvnx2hi_cc */

        case 8:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7804; /* *cmphsvnx2si_cc */

        case 9:
          if (!
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7814; /* *cmphsvnx2di_cc */

        case 10:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7824; /* *cmphsvnx16qi_ptest */

        case 11:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7834; /* *cmphsvnx8qi_ptest */

        case 12:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7864; /* *cmphsvnx8hi_ptest */

        case 13:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7844; /* *cmphsvnx4qi_ptest */

        case 14:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7874; /* *cmphsvnx4hi_ptest */

        case 15:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7894; /* *cmphsvnx4si_ptest */

        case 16:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7854; /* *cmphsvnx2qi_ptest */

        case 17:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7884; /* *cmphsvnx2hi_ptest */

        case 18:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7904; /* *cmphsvnx2si_ptest */

        case 19:
          if (!
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7914; /* *cmphsvnx2di_ptest */

        default:
          return -1;
        }

    case GTU:
      return recog_503 (x1, insn, pnum_clobbers);

    case UNSPEC:
      return recog_502 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_505 (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 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (pattern728 (x3))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8115; /* while_wrsivnx16bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8125; /* while_wrdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8135; /* while_wrsivnx8bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8145; /* while_wrdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8155; /* while_wrsivnx4bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8165; /* while_wrdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8175; /* while_wrsivnx2bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8185; /* while_wrdivnx2bi */

    default:
      return -1;
    }
}

static int
recog_506 (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 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (pattern728 (x3))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8114; /* while_rwsivnx16bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8124; /* while_rwdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8134; /* while_rwsivnx8bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8144; /* while_rwdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8154; /* while_rwsivnx4bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8164; /* while_rwdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8174; /* while_rwsivnx2bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8184; /* while_rwdivnx2bi */

    default:
      return -1;
    }
}

static int
recog_507 (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 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (pattern728 (x3))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8113; /* while_ugesivnx16bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8123; /* while_ugedivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8133; /* while_ugesivnx8bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8143; /* while_ugedivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8153; /* while_ugesivnx4bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8163; /* while_ugedivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8173; /* while_ugesivnx2bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8183; /* while_ugedivnx2bi */

    default:
      return -1;
    }
}

static int
recog_508 (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 (pattern276 (x1) != 0
      || !aarch64_sve_ptrue_flag (operands[2], E_SImode))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XINT (x3, 1))
    {
    case 119:
      x4 = XVECEXP (x3, 0, 2);
      switch (GET_CODE (x4))
        {
        case LT:
          switch (pattern800 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7616; /* aarch64_pred_cmpltvnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7626; /* aarch64_pred_cmpltvnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7656; /* aarch64_pred_cmpltvnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7636; /* aarch64_pred_cmpltvnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7666; /* aarch64_pred_cmpltvnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7686; /* aarch64_pred_cmpltvnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7646; /* aarch64_pred_cmpltvnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7676; /* aarch64_pred_cmpltvnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7696; /* aarch64_pred_cmpltvnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7706; /* aarch64_pred_cmpltvnx2di */

            default:
              return -1;
            }

        case LE:
          switch (pattern800 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7617; /* aarch64_pred_cmplevnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7627; /* aarch64_pred_cmplevnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7657; /* aarch64_pred_cmplevnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7637; /* aarch64_pred_cmplevnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7667; /* aarch64_pred_cmplevnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7687; /* aarch64_pred_cmplevnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7647; /* aarch64_pred_cmplevnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7677; /* aarch64_pred_cmplevnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7697; /* aarch64_pred_cmplevnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7707; /* aarch64_pred_cmplevnx2di */

            default:
              return -1;
            }

        case EQ:
          switch (pattern800 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7618; /* aarch64_pred_cmpeqvnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7628; /* aarch64_pred_cmpeqvnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7658; /* aarch64_pred_cmpeqvnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7638; /* aarch64_pred_cmpeqvnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7668; /* aarch64_pred_cmpeqvnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7688; /* aarch64_pred_cmpeqvnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7648; /* aarch64_pred_cmpeqvnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7678; /* aarch64_pred_cmpeqvnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7698; /* aarch64_pred_cmpeqvnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7708; /* aarch64_pred_cmpeqvnx2di */

            default:
              return -1;
            }

        case NE:
          switch (pattern800 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7619; /* aarch64_pred_cmpnevnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7629; /* aarch64_pred_cmpnevnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7659; /* aarch64_pred_cmpnevnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7639; /* aarch64_pred_cmpnevnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7669; /* aarch64_pred_cmpnevnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7689; /* aarch64_pred_cmpnevnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7649; /* aarch64_pred_cmpnevnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7679; /* aarch64_pred_cmpnevnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7699; /* aarch64_pred_cmpnevnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7709; /* aarch64_pred_cmpnevnx2di */

            default:
              return -1;
            }

        case GE:
          switch (pattern800 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7620; /* aarch64_pred_cmpgevnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7630; /* aarch64_pred_cmpgevnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7660; /* aarch64_pred_cmpgevnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7640; /* aarch64_pred_cmpgevnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7670; /* aarch64_pred_cmpgevnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7690; /* aarch64_pred_cmpgevnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7650; /* aarch64_pred_cmpgevnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7680; /* aarch64_pred_cmpgevnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7700; /* aarch64_pred_cmpgevnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7710; /* aarch64_pred_cmpgevnx2di */

            default:
              return -1;
            }

        case GT:
          switch (pattern800 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7621; /* aarch64_pred_cmpgtvnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7631; /* aarch64_pred_cmpgtvnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7661; /* aarch64_pred_cmpgtvnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7641; /* aarch64_pred_cmpgtvnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7671; /* aarch64_pred_cmpgtvnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7691; /* aarch64_pred_cmpgtvnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7651; /* aarch64_pred_cmpgtvnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7681; /* aarch64_pred_cmpgtvnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7701; /* aarch64_pred_cmpgtvnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7711; /* aarch64_pred_cmpgtvnx2di */

            default:
              return -1;
            }

        case LTU:
          switch (pattern801 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7622; /* aarch64_pred_cmplovnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7632; /* aarch64_pred_cmplovnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7662; /* aarch64_pred_cmplovnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7642; /* aarch64_pred_cmplovnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7672; /* aarch64_pred_cmplovnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7692; /* aarch64_pred_cmplovnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7652; /* aarch64_pred_cmplovnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7682; /* aarch64_pred_cmplovnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7702; /* aarch64_pred_cmplovnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7712; /* aarch64_pred_cmplovnx2di */

            default:
              return -1;
            }

        case LEU:
          switch (pattern801 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7623; /* aarch64_pred_cmplsvnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7633; /* aarch64_pred_cmplsvnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7663; /* aarch64_pred_cmplsvnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7643; /* aarch64_pred_cmplsvnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7673; /* aarch64_pred_cmplsvnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7693; /* aarch64_pred_cmplsvnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7653; /* aarch64_pred_cmplsvnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7683; /* aarch64_pred_cmplsvnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7703; /* aarch64_pred_cmplsvnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7713; /* aarch64_pred_cmplsvnx2di */

            default:
              return -1;
            }

        case GEU:
          switch (pattern801 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7624; /* aarch64_pred_cmphsvnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7634; /* aarch64_pred_cmphsvnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7664; /* aarch64_pred_cmphsvnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7644; /* aarch64_pred_cmphsvnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7674; /* aarch64_pred_cmphsvnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7694; /* aarch64_pred_cmphsvnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7654; /* aarch64_pred_cmphsvnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7684; /* aarch64_pred_cmphsvnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7704; /* aarch64_pred_cmphsvnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7714; /* aarch64_pred_cmphsvnx2di */

            default:
              return -1;
            }

        case GTU:
          switch (pattern801 (x3))
            {
            case 0:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7625; /* aarch64_pred_cmphivnx16qi */

            case 1:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7635; /* aarch64_pred_cmphivnx8qi */

            case 2:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7665; /* aarch64_pred_cmphivnx8hi */

            case 3:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7645; /* aarch64_pred_cmphivnx4qi */

            case 4:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7675; /* aarch64_pred_cmphivnx4hi */

            case 5:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7695; /* aarch64_pred_cmphivnx4si */

            case 6:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7655; /* aarch64_pred_cmphivnx2qi */

            case 7:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7685; /* aarch64_pred_cmphivnx2hi */

            case 8:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7705; /* aarch64_pred_cmphivnx2si */

            case 9:
              if (!
#line 7783 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7715; /* aarch64_pred_cmphivnx2di */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x4, 0) != 2)
            return -1;
          x5 = XVECEXP (x4, 0, 0);
          operands[3] = x5;
          x6 = XVECEXP (x4, 0, 1);
          operands[4] = x6;
          switch (XINT (x4, 1))
            {
            case 323:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8016; /* aarch64_pred_cmpeqvnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8026; /* aarch64_pred_cmpeqvnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8036; /* aarch64_pred_cmpeqvnx4si_wide */

                default:
                  return -1;
                }

            case 324:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8017; /* aarch64_pred_cmpgevnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8027; /* aarch64_pred_cmpgevnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8037; /* aarch64_pred_cmpgevnx4si_wide */

                default:
                  return -1;
                }

            case 325:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8018; /* aarch64_pred_cmpgtvnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8028; /* aarch64_pred_cmpgtvnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8038; /* aarch64_pred_cmpgtvnx4si_wide */

                default:
                  return -1;
                }

            case 326:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8019; /* aarch64_pred_cmphivnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8029; /* aarch64_pred_cmphivnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8039; /* aarch64_pred_cmphivnx4si_wide */

                default:
                  return -1;
                }

            case 327:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8020; /* aarch64_pred_cmphsvnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8030; /* aarch64_pred_cmphsvnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8040; /* aarch64_pred_cmphsvnx4si_wide */

                default:
                  return -1;
                }

            case 328:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8021; /* aarch64_pred_cmplevnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8031; /* aarch64_pred_cmplevnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8041; /* aarch64_pred_cmplevnx4si_wide */

                default:
                  return -1;
                }

            case 329:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8022; /* aarch64_pred_cmplovnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8032; /* aarch64_pred_cmplovnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8042; /* aarch64_pred_cmplovnx4si_wide */

                default:
                  return -1;
                }

            case 330:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8023; /* aarch64_pred_cmplsvnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8033; /* aarch64_pred_cmplsvnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8043; /* aarch64_pred_cmplsvnx4si_wide */

                default:
                  return -1;
                }

            case 331:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8024; /* aarch64_pred_cmpltvnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8034; /* aarch64_pred_cmpltvnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8044; /* aarch64_pred_cmpltvnx4si_wide */

                default:
                  return -1;
                }

            case 332:
              switch (pattern882 (x3))
                {
                case 0:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8025; /* aarch64_pred_cmpnevnx16qi_wide */

                case 1:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8035; /* aarch64_pred_cmpnevnx8hi_wide */

                case 2:
                  if (!
#line 7897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8045; /* aarch64_pred_cmpnevnx4si_wide */

                default:
                  return -1;
                }

            case 433:
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16BImode:
                  if (pattern890 (x3, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9945; /* aarch64_pred_matchvnx16qi */

                case E_VNx8BImode:
                  if (pattern890 (x3, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9947; /* aarch64_pred_matchvnx8hi */

                default:
                  return -1;
                }

            case 434:
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16BImode:
                  if (pattern890 (x3, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9946; /* aarch64_pred_nmatchvnx16qi */

                case E_VNx8BImode:
                  if (pattern890 (x3, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 2463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9948; /* aarch64_pred_nmatchvnx8hi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 289:
      if (GET_MODE (x3) != E_VNx16BImode
          || !register_operand (operands[0], E_VNx16BImode)
          || !register_operand (operands[1], E_VNx16BImode))
        return -1;
      x4 = XVECEXP (x3, 0, 2);
      operands[3] = x4;
      if (!register_operand (operands[3], E_VNx16BImode)
          || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
        return -1;
      return 8960; /* aarch64_sve_pfirstvnx16bi */

    case 290:
      x4 = XVECEXP (x3, 0, 2);
      operands[3] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16BImode:
          if (pattern834 (x3, E_VNx16BImode) != 0
              || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
            return -1;
          return 8961; /* aarch64_sve_pnextvnx16bi */

        case E_VNx8BImode:
          if (pattern834 (x3, E_VNx8BImode) != 0
              || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
            return -1;
          return 8962; /* aarch64_sve_pnextvnx8bi */

        case E_VNx4BImode:
          if (pattern834 (x3, E_VNx4BImode) != 0
              || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
            return -1;
          return 8963; /* aarch64_sve_pnextvnx4bi */

        case E_VNx2BImode:
          if (pattern834 (x3, E_VNx2BImode) != 0
              || !
#line 9737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
            return -1;
          return 8964; /* aarch64_sve_pnextvnx2bi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_509 (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 (pattern276 (x1) != 0)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XINT (x3, 1))
    {
    case 131:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8106; /* while_lesivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8116; /* while_ledivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8126; /* while_lesivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8136; /* while_ledivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8146; /* while_lesivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8156; /* while_ledivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8166; /* while_lesivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8176; /* while_ledivnx2bi */

        default:
          return -1;
        }

    case 132:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8107; /* while_ultsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8117; /* while_ultdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8127; /* while_ultsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8137; /* while_ultdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8147; /* while_ultsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8157; /* while_ultdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8167; /* while_ultsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8177; /* while_ultdivnx2bi */

        default:
          return -1;
        }

    case 133:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8108; /* while_ulesivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8118; /* while_uledivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8128; /* while_ulesivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8138; /* while_uledivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8148; /* while_ulesivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8158; /* while_uledivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8168; /* while_ulesivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8178; /* while_uledivnx2bi */

        default:
          return -1;
        }

    case 134:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8109; /* while_ltsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8119; /* while_ltdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8129; /* while_ltsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8139; /* while_ltdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8149; /* while_ltsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8159; /* while_ltdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8169; /* while_ltsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8179; /* while_ltdivnx2bi */

        default:
          return -1;
        }

    case 127:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8110; /* while_gesivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8120; /* while_gedivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8130; /* while_gesivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8140; /* while_gedivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8150; /* while_gesivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8160; /* while_gedivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8170; /* while_gesivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8180; /* while_gedivnx2bi */

        default:
          return -1;
        }

    case 128:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8111; /* while_gtsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8121; /* while_gtdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8131; /* while_gtsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8141; /* while_gtdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8151; /* while_gtsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8161; /* while_gtdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8171; /* while_gtsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8181; /* while_gtdivnx2bi */

        default:
          return -1;
        }

    case 129:
      switch (pattern728 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8112; /* while_ugtsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8122; /* while_ugtdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8132; /* while_ugtsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8142; /* while_ugtdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8152; /* while_ugtsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8162; /* while_ugtdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8172; /* while_ugtsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8182; /* while_ugtdivnx2bi */

        default:
          return -1;
        }

    case 130:
      return recog_507 (x1, insn, pnum_clobbers);

    case 135:
      return recog_506 (x1, insn, pnum_clobbers);

    case 136:
      return recog_505 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_510 (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, 1);
  operands[1] = x3;
  x4 = XEXP (x2, 0);
  operands[0] = x4;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  x7 = XEXP (x5, 1);
  operands[3] = x7;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      switch (pattern643 (E_SImode))
        {
        case 0:
          if (!
#line 1721 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (SImode)))))
            return -1;
          return 67; /* load_pair_sw_sisi */

        case 1:
          if (!
#line 1721 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (SImode)))))
            return -1;
          return 69; /* load_pair_sw_sisf */

        default:
          return -1;
        }

    case E_SFmode:
      switch (pattern643 (E_SFmode))
        {
        case 0:
          if (!
#line 1721 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (SFmode)))))
            return -1;
          return 68; /* load_pair_sw_sfsi */

        case 1:
          if (!
#line 1721 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (SFmode)))))
            return -1;
          return 70; /* load_pair_sw_sfsf */

        default:
          return -1;
        }

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || !aarch64_mem_pair_operand (operands[1], E_DImode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_DImode:
          if (!register_operand (operands[2], E_DImode)
              || !memory_operand (operands[3], E_DImode)
              || !
#line 1738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DImode)))))
            return -1;
          return 71; /* load_pair_dw_didi */

        case E_DFmode:
          if (!register_operand (operands[2], E_DFmode)
              || !memory_operand (operands[3], E_DFmode)
              || !
#line 1738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DImode)))))
            return -1;
          return 72; /* load_pair_dw_didf */

        default:
          return -1;
        }

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || !aarch64_mem_pair_operand (operands[1], E_DFmode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case E_DImode:
          if (!register_operand (operands[2], E_DImode)
              || !memory_operand (operands[3], E_DImode)
              || !
#line 1738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DFmode)))))
            return -1;
          return 73; /* load_pair_dw_dfdi */

        case E_DFmode:
          if (!register_operand (operands[2], E_DFmode)
              || !memory_operand (operands[3], E_DFmode))
            return -1;
          if (
#line 1738 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DFmode)))))
            return 74; /* load_pair_dw_dfdf */
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1237; /* load_pairdfdf */

        case E_V8QImode:
          if (!register_operand (operands[2], E_V8QImode)
              || !memory_operand (operands[3], E_V8QImode)
              || !
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1207; /* load_pairdfv8qi */

        case E_V4HImode:
          if (!register_operand (operands[2], E_V4HImode)
              || !memory_operand (operands[3], E_V4HImode)
              || !
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1213; /* load_pairdfv4hi */

        case E_V4HFmode:
          if (!register_operand (operands[2], E_V4HFmode)
              || !memory_operand (operands[3], E_V4HFmode)
              || !
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1219; /* load_pairdfv4hf */

        case E_V2SImode:
          if (!register_operand (operands[2], E_V2SImode)
              || !memory_operand (operands[3], E_V2SImode)
              || !
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1225; /* load_pairdfv2si */

        case E_V2SFmode:
          if (!register_operand (operands[2], E_V2SFmode)
              || !memory_operand (operands[3], E_V2SFmode)
              || !
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1231; /* load_pairdfv2sf */

        default:
          return -1;
        }

    case E_TFmode:
      if (!register_operand (operands[0], E_TFmode)
          || !aarch64_mem_pair_operand (operands[1], E_TFmode)
          || !register_operand (operands[2], E_TFmode)
          || !memory_operand (operands[3], E_TFmode)
          || !
#line 1754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
				   XEXP (operands[1], 0),
				   GET_MODE_SIZE (TFmode)))))
        return -1;
      return 75; /* load_pair_dw_tftf */

    case E_V8QImode:
      switch (pattern644 (E_V8QImode))
        {
        case 0:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1202; /* load_pairv8qiv8qi */

        case 1:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1208; /* load_pairv8qiv4hi */

        case 2:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1214; /* load_pairv8qiv4hf */

        case 3:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1220; /* load_pairv8qiv2si */

        case 4:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1226; /* load_pairv8qiv2sf */

        case 5:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1232; /* load_pairv8qidf */

        default:
          return -1;
        }

    case E_V4HImode:
      switch (pattern644 (E_V4HImode))
        {
        case 0:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1203; /* load_pairv4hiv8qi */

        case 1:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1209; /* load_pairv4hiv4hi */

        case 2:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1215; /* load_pairv4hiv4hf */

        case 3:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1221; /* load_pairv4hiv2si */

        case 4:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1227; /* load_pairv4hiv2sf */

        case 5:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1233; /* load_pairv4hidf */

        default:
          return -1;
        }

    case E_V4HFmode:
      switch (pattern644 (E_V4HFmode))
        {
        case 0:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1204; /* load_pairv4hfv8qi */

        case 1:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1210; /* load_pairv4hfv4hi */

        case 2:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1216; /* load_pairv4hfv4hf */

        case 3:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1222; /* load_pairv4hfv2si */

        case 4:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1228; /* load_pairv4hfv2sf */

        case 5:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1234; /* load_pairv4hfdf */

        default:
          return -1;
        }

    case E_V2SImode:
      switch (pattern644 (E_V2SImode))
        {
        case 0:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1205; /* load_pairv2siv8qi */

        case 1:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1211; /* load_pairv2siv4hi */

        case 2:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1217; /* load_pairv2siv4hf */

        case 3:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1223; /* load_pairv2siv2si */

        case 4:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1229; /* load_pairv2siv2sf */

        case 5:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1235; /* load_pairv2sidf */

        default:
          return -1;
        }

    case E_V2SFmode:
      switch (pattern644 (E_V2SFmode))
        {
        case 0:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1206; /* load_pairv2sfv8qi */

        case 1:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1212; /* load_pairv2sfv4hi */

        case 2:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1218; /* load_pairv2sfv4hf */

        case 3:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1224; /* load_pairv2sfv2si */

        case 4:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1230; /* load_pairv2sfv2sf */

        case 5:
          if (!
#line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1236; /* load_pairv2sfdf */

        default:
          return -1;
        }

    case E_V16QImode:
      switch (pattern645 (E_V16QImode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1274; /* load_pairv16qiv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1275; /* load_pairv16qiv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1276; /* load_pairv16qiv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1277; /* load_pairv16qiv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1278; /* load_pairv16qiv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1279; /* load_pairv16qiv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1280; /* load_pairv16qiv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1281; /* load_pairv16qiv2df */

        default:
          return -1;
        }

    case E_V8HImode:
      switch (pattern645 (E_V8HImode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1282; /* load_pairv8hiv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1283; /* load_pairv8hiv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1284; /* load_pairv8hiv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1285; /* load_pairv8hiv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1286; /* load_pairv8hiv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1287; /* load_pairv8hiv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1288; /* load_pairv8hiv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1289; /* load_pairv8hiv2df */

        default:
          return -1;
        }

    case E_V4SImode:
      switch (pattern645 (E_V4SImode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1290; /* load_pairv4siv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1291; /* load_pairv4siv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1292; /* load_pairv4siv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1293; /* load_pairv4siv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1294; /* load_pairv4siv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1295; /* load_pairv4siv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1296; /* load_pairv4siv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1297; /* load_pairv4siv2df */

        default:
          return -1;
        }

    case E_V2DImode:
      switch (pattern645 (E_V2DImode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1298; /* load_pairv2div16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1299; /* load_pairv2div8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1300; /* load_pairv2div4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1301; /* load_pairv2div2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1302; /* load_pairv2div8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1303; /* load_pairv2div8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1304; /* load_pairv2div4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1305; /* load_pairv2div2df */

        default:
          return -1;
        }

    case E_V8HFmode:
      switch (pattern645 (E_V8HFmode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1306; /* load_pairv8hfv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1307; /* load_pairv8hfv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1308; /* load_pairv8hfv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1309; /* load_pairv8hfv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1310; /* load_pairv8hfv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1311; /* load_pairv8hfv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1312; /* load_pairv8hfv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1313; /* load_pairv8hfv2df */

        default:
          return -1;
        }

    case E_V4SFmode:
      switch (pattern645 (E_V4SFmode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1314; /* load_pairv4sfv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1315; /* load_pairv4sfv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1316; /* load_pairv4sfv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1317; /* load_pairv4sfv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1318; /* load_pairv4sfv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1319; /* load_pairv4sfv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1320; /* load_pairv4sfv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1321; /* load_pairv4sfv2df */

        default:
          return -1;
        }

    case E_V2DFmode:
      switch (pattern645 (E_V2DFmode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1322; /* load_pairv2dfv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1323; /* load_pairv2dfv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1324; /* load_pairv2dfv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1325; /* load_pairv2dfv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1326; /* load_pairv2dfv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1327; /* load_pairv2dfv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1328; /* load_pairv2dfv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1329; /* load_pairv2dfv2df */

        default:
          return -1;
        }

    case E_V8BFmode:
      switch (pattern645 (E_V8BFmode))
        {
        case 0:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1330; /* load_pairv8bfv16qi */

        case 1:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1331; /* load_pairv8bfv8hi */

        case 2:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1332; /* load_pairv8bfv4si */

        case 3:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1333; /* load_pairv8bfv2di */

        case 4:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1334; /* load_pairv8bfv8hf */

        case 5:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1335; /* load_pairv8bfv8bf */

        case 6:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1336; /* load_pairv8bfv4sf */

        case 7:
          if (!
#line 226 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1337; /* load_pairv8bfv2df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_511 (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);
  switch (GET_CODE (x3))
    {
    case MEM:
      operands[0] = x3;
      x4 = XEXP (x2, 1);
      operands[1] = x4;
      x5 = XVECEXP (x1, 0, 1);
      x6 = XEXP (x5, 0);
      operands[2] = x6;
      x7 = XEXP (x5, 1);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          switch (pattern683 (E_SImode))
            {
            case 0:
              if (!
#line 1771 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (SImode)))))
                return -1;
              return 76; /* store_pair_sw_sisi */

            case 1:
              if (!
#line 1771 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (SImode)))))
                return -1;
              return 78; /* store_pair_sw_sisf */

            default:
              return -1;
            }

        case E_SFmode:
          switch (pattern683 (E_SFmode))
            {
            case 0:
              if (!
#line 1771 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (SFmode)))))
                return -1;
              return 77; /* store_pair_sw_sfsi */

            case 1:
              if (!
#line 1771 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (SFmode)))))
                return -1;
              return 79; /* store_pair_sw_sfsf */

            default:
              return -1;
            }

        case E_DImode:
          if (!aarch64_mem_pair_operand (operands[0], E_DImode)
              || !aarch64_reg_zero_or_fp_zero (operands[1], E_DImode))
            return -1;
          switch (pattern774 ())
            {
            case 0:
              if (!
#line 1788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DImode)))))
                return -1;
              return 80; /* store_pair_dw_didi */

            case 1:
              if (!
#line 1788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DImode)))))
                return -1;
              return 81; /* store_pair_dw_didf */

            default:
              return -1;
            }

        case E_DFmode:
          if (!aarch64_mem_pair_operand (operands[0], E_DFmode))
            return -1;
          if (aarch64_reg_zero_or_fp_zero (operands[1], E_DFmode))
            {
              switch (pattern774 ())
                {
                case 0:
                  if (
#line 1788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DFmode)))))
                    return 82; /* store_pair_dw_dfdi */
                  break;

                case 1:
                  if (
#line 1788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DFmode)))))
                    return 83; /* store_pair_dw_dfdf */
                  break;

                default:
                  break;
                }
            }
          if (!register_operand (operands[1], E_DFmode))
            return -1;
          switch (pattern684 ())
            {
            case 0:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1243; /* vec_store_pairdfv8qi */

            case 1:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1249; /* vec_store_pairdfv4hi */

            case 2:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1255; /* vec_store_pairdfv4hf */

            case 3:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1261; /* vec_store_pairdfv2si */

            case 4:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1267; /* vec_store_pairdfv2sf */

            case 5:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1273; /* vec_store_pairdfdf */

            default:
              return -1;
            }

        case E_TFmode:
          if (!aarch64_mem_pair_operand (operands[0], E_TFmode)
              || !register_operand (operands[1], E_TFmode)
              || !memory_operand (operands[2], E_TFmode)
              || !register_operand (operands[3], E_TFmode)
              || !
#line 1804 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD &&
    rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (TFmode)))))
            return -1;
          return 84; /* store_pair_dw_tftf */

        case E_V8QImode:
          switch (pattern685 (E_V8QImode))
            {
            case 0:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1238; /* vec_store_pairv8qiv8qi */

            case 1:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1244; /* vec_store_pairv8qiv4hi */

            case 2:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1250; /* vec_store_pairv8qiv4hf */

            case 3:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1256; /* vec_store_pairv8qiv2si */

            case 4:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1262; /* vec_store_pairv8qiv2sf */

            case 5:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1268; /* vec_store_pairv8qidf */

            default:
              return -1;
            }

        case E_V4HImode:
          switch (pattern685 (E_V4HImode))
            {
            case 0:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1239; /* vec_store_pairv4hiv8qi */

            case 1:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1245; /* vec_store_pairv4hiv4hi */

            case 2:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1251; /* vec_store_pairv4hiv4hf */

            case 3:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1257; /* vec_store_pairv4hiv2si */

            case 4:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1263; /* vec_store_pairv4hiv2sf */

            case 5:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1269; /* vec_store_pairv4hidf */

            default:
              return -1;
            }

        case E_V4HFmode:
          switch (pattern685 (E_V4HFmode))
            {
            case 0:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1240; /* vec_store_pairv4hfv8qi */

            case 1:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1246; /* vec_store_pairv4hfv4hi */

            case 2:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1252; /* vec_store_pairv4hfv4hf */

            case 3:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1258; /* vec_store_pairv4hfv2si */

            case 4:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1264; /* vec_store_pairv4hfv2sf */

            case 5:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1270; /* vec_store_pairv4hfdf */

            default:
              return -1;
            }

        case E_V2SImode:
          switch (pattern685 (E_V2SImode))
            {
            case 0:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1241; /* vec_store_pairv2siv8qi */

            case 1:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1247; /* vec_store_pairv2siv4hi */

            case 2:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1253; /* vec_store_pairv2siv4hf */

            case 3:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1259; /* vec_store_pairv2siv2si */

            case 4:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1265; /* vec_store_pairv2siv2sf */

            case 5:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1271; /* vec_store_pairv2sidf */

            default:
              return -1;
            }

        case E_V2SFmode:
          switch (pattern685 (E_V2SFmode))
            {
            case 0:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1242; /* vec_store_pairv2sfv8qi */

            case 1:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1248; /* vec_store_pairv2sfv4hi */

            case 2:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1254; /* vec_store_pairv2sfv4hf */

            case 3:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1260; /* vec_store_pairv2sfv2si */

            case 4:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1266; /* vec_store_pairv2sfv2sf */

            case 5:
              if (!
#line 212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1272; /* vec_store_pairv2sfdf */

            default:
              return -1;
            }

        case E_V16QImode:
          switch (pattern686 (E_V16QImode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1338; /* vec_store_pairv16qiv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1339; /* vec_store_pairv16qiv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1340; /* vec_store_pairv16qiv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1341; /* vec_store_pairv16qiv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1342; /* vec_store_pairv16qiv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1343; /* vec_store_pairv16qiv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1344; /* vec_store_pairv16qiv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1345; /* vec_store_pairv16qiv2df */

            default:
              return -1;
            }

        case E_V8HImode:
          switch (pattern686 (E_V8HImode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1346; /* vec_store_pairv8hiv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1347; /* vec_store_pairv8hiv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1348; /* vec_store_pairv8hiv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1349; /* vec_store_pairv8hiv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1350; /* vec_store_pairv8hiv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1351; /* vec_store_pairv8hiv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1352; /* vec_store_pairv8hiv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1353; /* vec_store_pairv8hiv2df */

            default:
              return -1;
            }

        case E_V4SImode:
          switch (pattern686 (E_V4SImode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1354; /* vec_store_pairv4siv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1355; /* vec_store_pairv4siv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1356; /* vec_store_pairv4siv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1357; /* vec_store_pairv4siv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1358; /* vec_store_pairv4siv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1359; /* vec_store_pairv4siv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1360; /* vec_store_pairv4siv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1361; /* vec_store_pairv4siv2df */

            default:
              return -1;
            }

        case E_V2DImode:
          switch (pattern686 (E_V2DImode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1362; /* vec_store_pairv2div16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1363; /* vec_store_pairv2div8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1364; /* vec_store_pairv2div4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1365; /* vec_store_pairv2div2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1366; /* vec_store_pairv2div8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1367; /* vec_store_pairv2div8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1368; /* vec_store_pairv2div4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1369; /* vec_store_pairv2div2df */

            default:
              return -1;
            }

        case E_V8HFmode:
          switch (pattern686 (E_V8HFmode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1370; /* vec_store_pairv8hfv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1371; /* vec_store_pairv8hfv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1372; /* vec_store_pairv8hfv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1373; /* vec_store_pairv8hfv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1374; /* vec_store_pairv8hfv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1375; /* vec_store_pairv8hfv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1376; /* vec_store_pairv8hfv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1377; /* vec_store_pairv8hfv2df */

            default:
              return -1;
            }

        case E_V4SFmode:
          switch (pattern686 (E_V4SFmode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1378; /* vec_store_pairv4sfv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1379; /* vec_store_pairv4sfv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1380; /* vec_store_pairv4sfv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1381; /* vec_store_pairv4sfv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1382; /* vec_store_pairv4sfv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1383; /* vec_store_pairv4sfv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1384; /* vec_store_pairv4sfv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1385; /* vec_store_pairv4sfv2df */

            default:
              return -1;
            }

        case E_V2DFmode:
          switch (pattern686 (E_V2DFmode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1386; /* vec_store_pairv2dfv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1387; /* vec_store_pairv2dfv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1388; /* vec_store_pairv2dfv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1389; /* vec_store_pairv2dfv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1390; /* vec_store_pairv2dfv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1391; /* vec_store_pairv2dfv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1392; /* vec_store_pairv2dfv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1393; /* vec_store_pairv2dfv2df */

            default:
              return -1;
            }

        case E_V8BFmode:
          switch (pattern686 (E_V8BFmode))
            {
            case 0:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1394; /* vec_store_pairv8bfv16qi */

            case 1:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1395; /* vec_store_pairv8bfv8hi */

            case 2:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1396; /* vec_store_pairv8bfv4si */

            case 3:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1397; /* vec_store_pairv8bfv2di */

            case 4:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1398; /* vec_store_pairv8bfv8hf */

            case 5:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1399; /* vec_store_pairv8bfv8bf */

            case 6:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1400; /* vec_store_pairv8bfv4sf */

            case 7:
              if (!
#line 240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0),
		plus_constant (Pmode,
			       XEXP (operands[0], 0),
			       GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1401; /* vec_store_pairv8bfv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
      if (REGNO (x3) != 84
          || GET_MODE (x3) != E_VNx16BImode)
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x5, 1);
      if (pattern540 (x7, E_VNx16BImode, 152, 1, UNSPEC) != 0)
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != REG
          || REGNO (x6) != 85
          || GET_MODE (x6) != E_VNx16BImode)
        return -1;
      x4 = XEXP (x2, 1);
      operands[0] = x4;
      if (!aarch64_simd_reg_or_minus_one (operands[0], E_VNx16BImode))
        return -1;
      x8 = XVECEXP (x7, 0, 0);
      if (!rtx_equal_p (x8, operands[0])
          || !
#line 1085 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4636; /* aarch64_wrffr */

    default:
      return -1;
    }
}

static int
recog_512 (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) != 66)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x2, 1);
  x7 = XEXP (x6, 0);
  switch (GET_CODE (x7))
    {
    case PLUS:
      return recog_451 (x1, insn, pnum_clobbers);

    case MINUS:
      x8 = XEXP (x7, 0);
      switch (GET_CODE (x8))
        {
        case REG:
        case SUBREG:
          operands[1] = x8;
          x9 = XEXP (x6, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || GET_MODE (x3) != E_CC_NZmode
              || GET_MODE (x6) != E_CC_NZmode)
            return -1;
          x10 = XEXP (x7, 1);
          switch (GET_CODE (x10))
            {
            case ASHIFT:
              x11 = XEXP (x4, 1);
              if (GET_CODE (x11) != MINUS)
                return -1;
              x12 = XEXP (x11, 1);
              if (GET_CODE (x12) != ASHIFT)
                return -1;
              x13 = XEXP (x10, 1);
              operands[3] = x13;
              x14 = XEXP (x11, 0);
              if (!rtx_equal_p (x14, operands[1]))
                return -1;
              x15 = XEXP (x12, 1);
              if (!rtx_equal_p (x15, operands[3]))
                return -1;
              x16 = XEXP (x10, 0);
              switch (GET_CODE (x16))
                {
                case REG:
                case SUBREG:
                  operands[2] = x16;
                  x17 = XEXP (x12, 0);
                  if (!rtx_equal_p (x17, operands[2]))
                    return -1;
                  switch (pattern794 (x1))
                    {
                    case 0:
                      return 149; /* *subs_shift_imm_si */

                    case 1:
                      return 152; /* *subs_shift_imm_di */

                    default:
                      return -1;
                    }

                case SIGN_EXTEND:
                  switch (pattern900 (x1, SIGN_EXTEND))
                    {
                    case 0:
                      return 191; /* *subs_extendqi_shift_si */

                    case 1:
                      return 195; /* *subs_extendhi_shift_si */

                    case 2:
                      return 199; /* *subs_extendsi_shift_si */

                    case 3:
                      return 193; /* *subs_extendqi_shift_di */

                    case 4:
                      return 197; /* *subs_extendhi_shift_di */

                    case 5:
                      return 201; /* *subs_extendsi_shift_di */

                    default:
                      return -1;
                    }

                case ZERO_EXTEND:
                  switch (pattern900 (x1, ZERO_EXTEND))
                    {
                    case 0:
                      return 192; /* *subs_zero_extendqi_shift_si */

                    case 1:
                      return 196; /* *subs_zero_extendhi_shift_si */

                    case 2:
                      return 200; /* *subs_zero_extendsi_shift_si */

                    case 3:
                      return 194; /* *subs_zero_extendqi_shift_di */

                    case 4:
                      return 198; /* *subs_zero_extendhi_shift_di */

                    case 5:
                      return 202; /* *subs_zero_extendsi_shift_di */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern795 (x1, ASHIFTRT))
                {
                case 0:
                  return 150; /* *subs_shift_imm_si */

                case 1:
                  return 153; /* *subs_shift_imm_di */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern795 (x1, LSHIFTRT))
                {
                case 0:
                  return 151; /* *subs_shift_imm_si */

                case 1:
                  return 154; /* *subs_shift_imm_di */

                default:
                  return -1;
                }

            case SIGN_EXTEND:
              switch (pattern797 (x1, SIGN_EXTEND))
                {
                case 0:
                  return 167; /* *subs_extendqi_si */

                case 1:
                  return 171; /* *subs_extendhi_si */

                case 2:
                  return 175; /* *subs_extendsi_si */

                case 3:
                  return 169; /* *subs_extendqi_di */

                case 4:
                  return 173; /* *subs_extendhi_di */

                case 5:
                  return 177; /* *subs_extendsi_di */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern797 (x1, ZERO_EXTEND))
                {
                case 0:
                  return 168; /* *subs_zero_extendqi_si */

                case 1:
                  return 172; /* *subs_zero_extendhi_si */

                case 2:
                  return 176; /* *subs_zero_extendsi_si */

                case 3:
                  return 170; /* *subs_zero_extendqi_di */

                case 4:
                  return 174; /* *subs_zero_extendhi_di */

                case 5:
                  return 178; /* *subs_zero_extendsi_di */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              operands[2] = x10;
              x11 = XEXP (x4, 1);
              switch (GET_CODE (x11))
                {
                case MINUS:
                  x14 = XEXP (x11, 0);
                  if (!rtx_equal_p (x14, operands[1]))
                    return -1;
                  x12 = XEXP (x11, 1);
                  if (!rtx_equal_p (x12, operands[2]))
                    return -1;
                  switch (GET_MODE (x7))
                    {
                    case E_SImode:
                      if (pattern889 (x11, E_SImode) != 0)
                        return -1;
                      return 283; /* *subsi3_compare0 */

                    case E_DImode:
                      if (pattern889 (x11, E_DImode) != 0)
                        return -1;
                      return 284; /* *subdi3_compare0 */

                    default:
                      return -1;
                    }

                case ZERO_EXTEND:
                  if (pattern826 (x1, MINUS) != 0
                      || !register_operand (operands[1], E_SImode)
                      || !register_operand (operands[2], E_SImode)
                      || !register_operand (operands[0], E_DImode))
                    return -1;
                  x14 = XEXP (x11, 0);
                  x18 = XEXP (x14, 0);
                  if (!rtx_equal_p (x18, operands[1]))
                    return -1;
                  x19 = XEXP (x14, 1);
                  if (!rtx_equal_p (x19, operands[2]))
                    return -1;
                  return 285; /* *subsi3_compare0_uxtw */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case SIGN_EXTEND:
          x9 = XEXP (x6, 1);
          if (GET_CODE (x9) != SIGN_EXTEND)
            return -1;
          x20 = XEXP (x9, 0);
          if (GET_CODE (x20) != MINUS)
            return -1;
          x11 = XEXP (x4, 1);
          if (GET_CODE (x11) != MINUS
              || GET_MODE (x3) != E_CC_Vmode
              || GET_MODE (x6) != E_CC_Vmode)
            return -1;
          x21 = XEXP (x8, 0);
          operands[1] = x21;
          x22 = XEXP (x20, 0);
          if (!rtx_equal_p (x22, operands[1]))
            return -1;
          x10 = XEXP (x7, 1);
          switch (GET_CODE (x10))
            {
            case GEU:
            case LTU:
              operands[2] = x10;
              x23 = XEXP (x20, 1);
              operands[3] = x23;
              x14 = XEXP (x11, 0);
              if (!rtx_equal_p (x14, operands[1]))
                return -1;
              x12 = XEXP (x11, 1);
              if (!rtx_equal_p (x12, operands[3]))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_DImode:
                  if (pattern915 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 346; /* *subsi3_carryinV_z2 */

                case E_TImode:
                  if (pattern915 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 347; /* *subdi3_carryinV_z2 */

                default:
                  return -1;
                }

            case PLUS:
              x16 = XEXP (x10, 0);
              if (GET_CODE (x16) != SIGN_EXTEND)
                return -1;
              x23 = XEXP (x20, 1);
              if (GET_CODE (x23) != PLUS)
                return -1;
              x14 = XEXP (x11, 0);
              if (GET_CODE (x14) != MINUS)
                return -1;
              x24 = XEXP (x16, 0);
              operands[2] = x24;
              x13 = XEXP (x10, 1);
              operands[3] = x13;
              x25 = XEXP (x23, 0);
              operands[4] = x25;
              x26 = XEXP (x23, 1);
              if (!rtx_equal_p (x26, operands[2]))
                return -1;
              x18 = XEXP (x14, 0);
              if (!rtx_equal_p (x18, operands[1]))
                return -1;
              x19 = XEXP (x14, 1);
              if (!rtx_equal_p (x19, operands[2]))
                return -1;
              x12 = XEXP (x11, 1);
              if (!rtx_equal_p (x12, operands[4]))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_DImode:
                  if (pattern943 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 348; /* *subsi3_carryinV */

                case E_TImode:
                  if (pattern943 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 349; /* *subdi3_carryinV */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SIGN_EXTEND:
      if (GET_MODE (x3) != E_CC_Vmode
          || GET_MODE (x6) != E_CC_Vmode)
        return -1;
      x8 = XEXP (x7, 0);
      switch (GET_CODE (x8))
        {
        case MINUS:
          x9 = XEXP (x6, 1);
          if (GET_CODE (x9) != MINUS)
            return -1;
          x20 = XEXP (x9, 0);
          if (GET_CODE (x20) != SIGN_EXTEND)
            return -1;
          x11 = XEXP (x4, 1);
          if (GET_CODE (x11) != MINUS)
            return -1;
          x21 = XEXP (x8, 0);
          operands[1] = x21;
          x27 = XEXP (x8, 1);
          operands[2] = x27;
          x22 = XEXP (x20, 0);
          if (!rtx_equal_p (x22, operands[1]))
            return -1;
          x14 = XEXP (x11, 0);
          if (!rtx_equal_p (x14, operands[1]))
            return -1;
          x12 = XEXP (x11, 1);
          if (!rtx_equal_p (x12, operands[2]))
            return -1;
          switch (GET_CODE (operands[2]))
            {
            case REG:
            case SUBREG:
              x28 = XEXP (x9, 1);
              if (GET_CODE (x28) != SIGN_EXTEND)
                return -1;
              x29 = XEXP (x28, 0);
              if (!rtx_equal_p (x29, operands[2]))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_DImode:
                  if (pattern927 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 271; /* subvsi_insn */

                case E_TImode:
                  if (pattern927 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 272; /* subvdi_insn */

                default:
                  return -1;
                }

            case CONST_INT:
              x28 = XEXP (x9, 1);
              if (!rtx_equal_p (x28, operands[2]))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_DImode:
                  if (pattern916 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 273; /* subvsi_imm */

                case E_TImode:
                  if (pattern916 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 274; /* subvdi_imm */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case NEG:
          x9 = XEXP (x6, 1);
          if (GET_CODE (x9) != NEG)
            return -1;
          x20 = XEXP (x9, 0);
          if (GET_CODE (x20) != SIGN_EXTEND)
            return -1;
          x11 = XEXP (x4, 1);
          if (GET_CODE (x11) != NEG)
            return -1;
          x21 = XEXP (x8, 0);
          operands[1] = x21;
          x22 = XEXP (x20, 0);
          if (!rtx_equal_p (x22, operands[1]))
            return -1;
          x14 = XEXP (x11, 0);
          if (!rtx_equal_p (x14, operands[1]))
            return -1;
          switch (GET_MODE (x7))
            {
            case E_DImode:
              if (pattern879 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 275; /* negvsi_insn */

            case E_TImode:
              if (pattern879 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 276; /* negvdi_insn */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      return recog_452 (x1, insn, pnum_clobbers);

    case CONST_INT:
    case CONST_DOUBLE:
    case REG:
    case SUBREG:
      if (GET_MODE (x3) != E_CCmode
          || GET_MODE (x6) != E_CCmode)
        return -1;
      switch (GET_CODE (x7))
        {
        case CONST_INT:
          res = recog_449 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case REG:
        case SUBREG:
          res = recog_450 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      x11 = XEXP (x4, 1);
      if (GET_CODE (x11) != MINUS)
        return -1;
      operands[1] = x7;
      x9 = XEXP (x6, 1);
      operands[2] = x9;
      if (aarch64_reg_or_zero (operands[2], E_SImode)
          && pattern799 (x11, E_SImode) == 0)
        return 288; /* subsi3_compare1 */
      if (!aarch64_reg_or_zero (operands[2], E_DImode)
          || pattern799 (x11, E_DImode) != 0)
        return -1;
      return 289; /* subdi3_compare1 */

    case ZERO_EXTEND:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      x9 = XEXP (x6, 1);
      switch (GET_CODE (x9))
        {
        case GEU:
        case LTU:
          operands[2] = x9;
          x11 = XEXP (x4, 1);
          if (GET_CODE (x11) != MINUS
              || GET_MODE (x3) != E_CCmode
              || GET_MODE (x6) != E_CCmode)
            return -1;
          x12 = XEXP (x11, 1);
          operands[3] = x12;
          x14 = XEXP (x11, 0);
          if (!rtx_equal_p (x14, operands[1]))
            return -1;
          switch (GET_MODE (x7))
            {
            case E_DImode:
              if (pattern864 (x11, E_SImode, E_DImode) != 0)
                return -1;
              return 342; /* *usubsi3_carryinC_z2 */

            case E_TImode:
              if (pattern864 (x11, E_DImode, E_TImode) != 0)
                return -1;
              return 343; /* *usubdi3_carryinC_z2 */

            default:
              return -1;
            }

        case PLUS:
          x20 = XEXP (x9, 0);
          if (GET_CODE (x20) != ZERO_EXTEND)
            return -1;
          x11 = XEXP (x4, 1);
          if (GET_CODE (x11) != MINUS)
            return -1;
          x14 = XEXP (x11, 0);
          if (GET_CODE (x14) != MINUS
              || GET_MODE (x3) != E_CCmode
              || GET_MODE (x6) != E_CCmode)
            return -1;
          x22 = XEXP (x20, 0);
          operands[2] = x22;
          x28 = XEXP (x9, 1);
          operands[3] = x28;
          x12 = XEXP (x11, 1);
          operands[4] = x12;
          x18 = XEXP (x14, 0);
          if (!rtx_equal_p (x18, operands[1]))
            return -1;
          x19 = XEXP (x14, 1);
          if (!rtx_equal_p (x19, operands[2]))
            return -1;
          switch (GET_MODE (x7))
            {
            case E_DImode:
              if (pattern909 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 344; /* *usubsi3_carryinC */

            case E_TImode:
              if (pattern909 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 345; /* *usubdi3_carryinC */

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x9, 0) != 0L)
            return -1;
          x11 = XEXP (x4, 1);
          if (GET_CODE (x11) != ZERO_EXTEND
              || GET_MODE (x3) != E_CC_NZmode
              || GET_MODE (x6) != E_CC_NZmode)
            return -1;
          x14 = XEXP (x11, 0);
          if (!rtx_equal_p (x14, operands[1]))
            return -1;
          switch (GET_MODE (x7))
            {
            case E_SImode:
              switch (pattern846 (x11, E_SImode))
                {
                case 0:
                  return 660; /* *andssi_compare0 */

                case 1:
                  return 661; /* *andssi_compare0 */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern846 (x11, E_DImode))
                {
                case 0:
                  return 662; /* *andsdi_compare0 */

                case 1:
                  return 663; /* *andsdi_compare0 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      x9 = XEXP (x6, 1);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x3) != E_CC_NZmode
          || GET_MODE (x6) != E_CC_NZmode)
        return -1;
      x8 = XEXP (x7, 0);
      switch (GET_CODE (x8))
        {
        case REG:
        case SUBREG:
          operands[1] = x8;
          x10 = XEXP (x7, 1);
          operands[2] = x10;
          x11 = XEXP (x4, 1);
          switch (GET_CODE (x11))
            {
            case AND:
              x14 = XEXP (x11, 0);
              if (!rtx_equal_p (x14, operands[1]))
                return -1;
              x12 = XEXP (x11, 1);
              if (!rtx_equal_p (x12, operands[2]))
                return -1;
              switch (GET_MODE (x7))
                {
                case E_SImode:
                  if (pattern880 (x11, E_SImode) != 0)
                    return -1;
                  return 509; /* *andsi3_compare0 */

                case E_DImode:
                  if (pattern880 (x11, E_DImode) != 0)
                    return -1;
                  return 510; /* *anddi3_compare0 */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern826 (x1, AND) != 0
                  || !register_operand (operands[1], E_SImode)
                  || !aarch64_logical_operand (operands[2], E_SImode)
                  || !register_operand (operands[0], E_DImode))
                return -1;
              x14 = XEXP (x11, 0);
              x18 = XEXP (x14, 0);
              if (!rtx_equal_p (x18, operands[1]))
                return -1;
              x19 = XEXP (x14, 1);
              if (!rtx_equal_p (x19, operands[2]))
                return -1;
              return 511; /* *andsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern722 (x1, ASHIFT))
            {
            case 0:
              return 512; /* *and_ashlsi3_compare0 */

            case 1:
              return 516; /* *and_ashldi3_compare0 */

            case 2:
              return 520; /* *and_ashlsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern722 (x1, ASHIFTRT))
            {
            case 0:
              return 513; /* *and_ashrsi3_compare0 */

            case 1:
              return 517; /* *and_ashrdi3_compare0 */

            case 2:
              return 521; /* *and_ashrsi3_compare0_uxtw */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern722 (x1, LSHIFTRT))
            {
            case 0:
              return 514; /* *and_lshrsi3_compare0 */

            case 1:
              return 518; /* *and_lshrdi3_compare0 */

            case 2:
              return 522; /* *and_lshrsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern722 (x1, ROTATERT))
            {
            case 0:
              return 515; /* *and_rotrsi3_compare0 */

            case 1:
              return 519; /* *and_rotrdi3_compare0 */

            case 2:
              return 523; /* *and_rotrsi3_compare0_uxtw */

            default:
              return -1;
            }

        case NOT:
          x21 = XEXP (x8, 0);
          switch (GET_CODE (x21))
            {
            case REG:
            case SUBREG:
              operands[1] = x21;
              x10 = XEXP (x7, 1);
              operands[2] = x10;
              x11 = XEXP (x4, 1);
              switch (GET_CODE (x11))
                {
                case AND:
                  x14 = XEXP (x11, 0);
                  if (GET_CODE (x14) != NOT)
                    return -1;
                  x18 = XEXP (x14, 0);
                  if (!rtx_equal_p (x18, operands[1]))
                    return -1;
                  x12 = XEXP (x11, 1);
                  if (!rtx_equal_p (x12, operands[2]))
                    return -1;
                  switch (GET_MODE (x7))
                    {
                    case E_SImode:
                      if (pattern901 (x1, E_SImode) != 0)
                        return -1;
                      return 589; /* *and_one_cmplsi3_compare0 */

                    case E_DImode:
                      if (pattern901 (x1, E_DImode) != 0)
                        return -1;
                      return 590; /* *and_one_cmpldi3_compare0 */

                    default:
                      return -1;
                    }

                case ZERO_EXTEND:
                  if (GET_MODE (x11) != E_DImode)
                    return -1;
                  x14 = XEXP (x11, 0);
                  if (GET_CODE (x14) != AND
                      || GET_MODE (x14) != E_SImode)
                    return -1;
                  x18 = XEXP (x14, 0);
                  if (GET_CODE (x18) != NOT
                      || GET_MODE (x18) != E_SImode
                      || GET_MODE (x7) != E_SImode
                      || GET_MODE (x8) != E_SImode
                      || !register_operand (operands[1], E_SImode)
                      || !register_operand (operands[2], E_SImode)
                      || !register_operand (operands[0], E_DImode))
                    return -1;
                  x30 = XEXP (x18, 0);
                  if (!rtx_equal_p (x30, operands[1]))
                    return -1;
                  x19 = XEXP (x14, 1);
                  if (!rtx_equal_p (x19, operands[2]))
                    return -1;
                  return 591; /* *and_one_cmplsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ASHIFT:
              switch (pattern772 (x1, ASHIFT))
                {
                case 0:
                  return 630; /* *and_one_cmpl_ashlsi3_compare0 */

                case 1:
                  return 634; /* *and_one_cmpl_ashldi3_compare0 */

                case 2:
                  return 638; /* *and_one_cmpl_ashlsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern772 (x1, ASHIFTRT))
                {
                case 0:
                  return 631; /* *and_one_cmpl_ashrsi3_compare0 */

                case 1:
                  return 635; /* *and_one_cmpl_ashrdi3_compare0 */

                case 2:
                  return 639; /* *and_one_cmpl_ashrsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern772 (x1, LSHIFTRT))
                {
                case 0:
                  return 632; /* *and_one_cmpl_lshrsi3_compare0 */

                case 1:
                  return 636; /* *and_one_cmpl_lshrdi3_compare0 */

                case 2:
                  return 640; /* *and_one_cmpl_lshrsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ROTATERT:
              switch (pattern772 (x1, ROTATERT))
                {
                case 0:
                  return 633; /* *and_one_cmpl_rotrsi3_compare0 */

                case 1:
                  return 637; /* *and_one_cmpl_rotrdi3_compare0 */

                case 2:
                  return 641; /* *and_one_cmpl_rotrsi3_compare0_uxtw */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_513 (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 SUBREG:
    case MEM:
      if (pattern353 (x1, pnum_clobbers) != 0)
        return -1;
      switch (pattern173 (x1))
        {
        case 0:
          *pnum_clobbers = 2;
          return 4430; /* aarch64_atomic_and_fetchqi */

        case 1:
          *pnum_clobbers = 2;
          return 4435; /* aarch64_atomic_and_fetchhi */

        case 2:
          *pnum_clobbers = 2;
          return 4440; /* aarch64_atomic_and_fetchsi */

        case 3:
          *pnum_clobbers = 2;
          return 4445; /* aarch64_atomic_and_fetchdi */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 3
          || XINT (x5, 1) != 119)
        return -1;
      x6 = XVECEXP (x5, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER)
        return -1;
      switch (pattern612 (x1))
        {
        case 0:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7916; /* *cmpltvnx16qi_and */

        case 1:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7926; /* *cmpltvnx8qi_and */

        case 2:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7956; /* *cmpltvnx8hi_and */

        case 3:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7936; /* *cmpltvnx4qi_and */

        case 4:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7966; /* *cmpltvnx4hi_and */

        case 5:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7986; /* *cmpltvnx4si_and */

        case 6:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7946; /* *cmpltvnx2qi_and */

        case 7:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7976; /* *cmpltvnx2hi_and */

        case 8:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7996; /* *cmpltvnx2si_and */

        case 9:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8006; /* *cmpltvnx2di_and */

        case 10:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7917; /* *cmplevnx16qi_and */

        case 11:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7927; /* *cmplevnx8qi_and */

        case 12:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7957; /* *cmplevnx8hi_and */

        case 13:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7937; /* *cmplevnx4qi_and */

        case 14:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7967; /* *cmplevnx4hi_and */

        case 15:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7987; /* *cmplevnx4si_and */

        case 16:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7947; /* *cmplevnx2qi_and */

        case 17:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7977; /* *cmplevnx2hi_and */

        case 18:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7997; /* *cmplevnx2si_and */

        case 19:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8007; /* *cmplevnx2di_and */

        case 20:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7918; /* *cmpeqvnx16qi_and */

        case 21:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7928; /* *cmpeqvnx8qi_and */

        case 22:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7958; /* *cmpeqvnx8hi_and */

        case 23:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7938; /* *cmpeqvnx4qi_and */

        case 24:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7968; /* *cmpeqvnx4hi_and */

        case 25:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7988; /* *cmpeqvnx4si_and */

        case 26:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7948; /* *cmpeqvnx2qi_and */

        case 27:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7978; /* *cmpeqvnx2hi_and */

        case 28:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7998; /* *cmpeqvnx2si_and */

        case 29:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8008; /* *cmpeqvnx2di_and */

        case 30:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7919; /* *cmpnevnx16qi_and */

        case 31:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7929; /* *cmpnevnx8qi_and */

        case 32:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7959; /* *cmpnevnx8hi_and */

        case 33:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7939; /* *cmpnevnx4qi_and */

        case 34:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7969; /* *cmpnevnx4hi_and */

        case 35:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7989; /* *cmpnevnx4si_and */

        case 36:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7949; /* *cmpnevnx2qi_and */

        case 37:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7979; /* *cmpnevnx2hi_and */

        case 38:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7999; /* *cmpnevnx2si_and */

        case 39:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8009; /* *cmpnevnx2di_and */

        case 40:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7920; /* *cmpgevnx16qi_and */

        case 41:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7930; /* *cmpgevnx8qi_and */

        case 42:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7960; /* *cmpgevnx8hi_and */

        case 43:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7940; /* *cmpgevnx4qi_and */

        case 44:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7970; /* *cmpgevnx4hi_and */

        case 45:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7990; /* *cmpgevnx4si_and */

        case 46:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7950; /* *cmpgevnx2qi_and */

        case 47:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7980; /* *cmpgevnx2hi_and */

        case 48:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8000; /* *cmpgevnx2si_and */

        case 49:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8010; /* *cmpgevnx2di_and */

        case 50:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7921; /* *cmpgtvnx16qi_and */

        case 51:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7931; /* *cmpgtvnx8qi_and */

        case 52:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7961; /* *cmpgtvnx8hi_and */

        case 53:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7941; /* *cmpgtvnx4qi_and */

        case 54:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7971; /* *cmpgtvnx4hi_and */

        case 55:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7991; /* *cmpgtvnx4si_and */

        case 56:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7951; /* *cmpgtvnx2qi_and */

        case 57:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7981; /* *cmpgtvnx2hi_and */

        case 58:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8001; /* *cmpgtvnx2si_and */

        case 59:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8011; /* *cmpgtvnx2di_and */

        case 60:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7922; /* *cmplovnx16qi_and */

        case 61:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7932; /* *cmplovnx8qi_and */

        case 62:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7962; /* *cmplovnx8hi_and */

        case 63:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7942; /* *cmplovnx4qi_and */

        case 64:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7972; /* *cmplovnx4hi_and */

        case 65:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7992; /* *cmplovnx4si_and */

        case 66:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7952; /* *cmplovnx2qi_and */

        case 67:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7982; /* *cmplovnx2hi_and */

        case 68:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8002; /* *cmplovnx2si_and */

        case 69:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8012; /* *cmplovnx2di_and */

        case 70:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7923; /* *cmplsvnx16qi_and */

        case 71:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7933; /* *cmplsvnx8qi_and */

        case 72:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7963; /* *cmplsvnx8hi_and */

        case 73:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7943; /* *cmplsvnx4qi_and */

        case 74:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7973; /* *cmplsvnx4hi_and */

        case 75:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7993; /* *cmplsvnx4si_and */

        case 76:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7953; /* *cmplsvnx2qi_and */

        case 77:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7983; /* *cmplsvnx2hi_and */

        case 78:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8003; /* *cmplsvnx2si_and */

        case 79:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8013; /* *cmplsvnx2di_and */

        case 80:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7924; /* *cmphsvnx16qi_and */

        case 81:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7934; /* *cmphsvnx8qi_and */

        case 82:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7964; /* *cmphsvnx8hi_and */

        case 83:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7944; /* *cmphsvnx4qi_and */

        case 84:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7974; /* *cmphsvnx4hi_and */

        case 85:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7994; /* *cmphsvnx4si_and */

        case 86:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7954; /* *cmphsvnx2qi_and */

        case 87:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7984; /* *cmphsvnx2hi_and */

        case 88:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8004; /* *cmphsvnx2si_and */

        case 89:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8014; /* *cmphsvnx2di_and */

        case 90:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7925; /* *cmphivnx16qi_and */

        case 91:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7935; /* *cmphivnx8qi_and */

        case 92:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7965; /* *cmphivnx8hi_and */

        case 93:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7945; /* *cmphivnx4qi_and */

        case 94:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7975; /* *cmphivnx4hi_and */

        case 95:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7995; /* *cmphivnx4si_and */

        case 96:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7955; /* *cmphivnx2qi_and */

        case 97:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7985; /* *cmphivnx2hi_and */

        case 98:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8005; /* *cmphivnx2si_and */

        case 99:
          if (!
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8015; /* *cmphivnx2di_and */

        default:
          return -1;
        }

    case AND:
      x8 = XEXP (x5, 0);
      if (pattern354 (x8) != 0)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER)
        return -1;
      switch (pattern650 (x1))
        {
        case 0:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8388; /* *fcmeqvnx8hf_bic_combine */

        case 1:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8394; /* *fcmeqvnx4sf_bic_combine */

        case 2:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8400; /* *fcmeqvnx2df_bic_combine */

        case 3:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8406; /* *fcmeqvnx8hf_nor_combine */

        case 4:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8412; /* *fcmeqvnx4sf_nor_combine */

        case 5:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8418; /* *fcmeqvnx2df_nor_combine */

        case 6:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8389; /* *fcmgevnx8hf_bic_combine */

        case 7:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8395; /* *fcmgevnx4sf_bic_combine */

        case 8:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8401; /* *fcmgevnx2df_bic_combine */

        case 9:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8407; /* *fcmgevnx8hf_nor_combine */

        case 10:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8413; /* *fcmgevnx4sf_nor_combine */

        case 11:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8419; /* *fcmgevnx2df_nor_combine */

        case 12:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8390; /* *fcmgtvnx8hf_bic_combine */

        case 13:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8396; /* *fcmgtvnx4sf_bic_combine */

        case 14:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8402; /* *fcmgtvnx2df_bic_combine */

        case 15:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8408; /* *fcmgtvnx8hf_nor_combine */

        case 16:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8414; /* *fcmgtvnx4sf_nor_combine */

        case 17:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8420; /* *fcmgtvnx2df_nor_combine */

        case 18:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8391; /* *fcmlevnx8hf_bic_combine */

        case 19:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8397; /* *fcmlevnx4sf_bic_combine */

        case 20:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8403; /* *fcmlevnx2df_bic_combine */

        case 21:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8409; /* *fcmlevnx8hf_nor_combine */

        case 22:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8415; /* *fcmlevnx4sf_nor_combine */

        case 23:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8421; /* *fcmlevnx2df_nor_combine */

        case 24:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8392; /* *fcmltvnx8hf_bic_combine */

        case 25:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8398; /* *fcmltvnx4sf_bic_combine */

        case 26:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8404; /* *fcmltvnx2df_bic_combine */

        case 27:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8410; /* *fcmltvnx8hf_nor_combine */

        case 28:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8416; /* *fcmltvnx4sf_nor_combine */

        case 29:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8422; /* *fcmltvnx2df_nor_combine */

        case 30:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8393; /* *fcmnevnx8hf_bic_combine */

        case 31:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8399; /* *fcmnevnx4sf_bic_combine */

        case 32:
          if (!
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8405; /* *fcmnevnx2df_bic_combine */

        case 33:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8411; /* *fcmnevnx8hf_nor_combine */

        case 34:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8417; /* *fcmnevnx4sf_nor_combine */

        case 35:
          if (!
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8423; /* *fcmnevnx2df_nor_combine */

        case 36:
          if (!
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8424; /* *fcmuovnx8hf_bic_combine */

        case 37:
          if (!
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8425; /* *fcmuovnx4sf_bic_combine */

        case 38:
          if (!
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8426; /* *fcmuovnx2df_bic_combine */

        case 39:
          if (!
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8427; /* *fcmuovnx8hf_nor_combine */

        case 40:
          if (!
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8428; /* *fcmuovnx4sf_nor_combine */

        case 41:
          if (!
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8429; /* *fcmuovnx2df_nor_combine */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_514 (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 1:
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      switch (XINT (x3, 1))
        {
        case 17:
          if (GET_MODE (x3) != E_SImode)
            return -1;
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != CLOBBER)
            return -1;
          x7 = XEXP (x6, 0);
          if (pattern498 (x7, E_CCmode, E_SImode) != 0
              || !register_operand (operands[1], E_DFmode)
              || !
#line 7090 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_JSCVT))
            return -1;
          return 1055; /* aarch64_fjcvtzs */

        case 100:
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != SET)
            return -1;
          x8 = XEXP (x6, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x7 = XEXP (x6, 0);
          operands[2] = x7;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern682 (x3, E_SImode) != 0
                  || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
                return -1;
              return 1071; /* stack_protect_set_si */

            case E_DImode:
              if (pattern682 (x3, E_DImode) != 0
                  || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
                return -1;
              return 1072; /* stack_protect_set_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      if (pattern275 (x2) != 0)
        return -1;
      x9 = XVECEXP (x3, 0, 2);
      if (XWINT (x9, 0) == 1L)
        {
          res = recog_501 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_VNx16BImode)
          || !aarch64_sve_ptrue_flag (x9, E_SImode))
        return -1;
      x10 = XVECEXP (x3, 0, 3);
      switch (GET_CODE (x10))
        {
        case AND:
          x11 = XEXP (x10, 0);
          switch (GET_CODE (x11))
            {
            case REG:
              if (REGNO (x11) != 85
                  || GET_MODE (x11) != E_VNx16BImode)
                return -1;
              operands[2] = x9;
              if (GET_MODE (x10) != E_VNx16BImode)
                return -1;
              x12 = XVECEXP (x3, 0, 1);
              if (!rtx_equal_p (x12, operands[1]))
                return -1;
              x13 = XEXP (x10, 1);
              if (!rtx_equal_p (x13, operands[1]))
                return -1;
              x6 = XVECEXP (x1, 0, 1);
              switch (GET_CODE (x6))
                {
                case CLOBBER:
                  x7 = XEXP (x6, 0);
                  operands[0] = x7;
                  if (!scratch_operand (operands[0], E_VNx16BImode)
                      || !
#line 1152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4641; /* *aarch64_rdffr_z_ptest */

                case SET:
                  x8 = XEXP (x6, 1);
                  if (GET_CODE (x8) != AND
                      || GET_MODE (x8) != E_VNx16BImode)
                    return -1;
                  x14 = XEXP (x8, 0);
                  if (GET_CODE (x14) != REG
                      || REGNO (x14) != 85
                      || GET_MODE (x14) != E_VNx16BImode)
                    return -1;
                  x7 = XEXP (x6, 0);
                  operands[0] = x7;
                  if (!register_operand (operands[0], E_VNx16BImode))
                    return -1;
                  x15 = XEXP (x8, 1);
                  if (!rtx_equal_p (x15, operands[1])
                      || !
#line 1185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4643; /* *aarch64_rdffr_z_cc */

                default:
                  return -1;
                }

            case AND:
              switch (pattern833 (x1, AND))
                {
                case 0:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7242; /* *andvnx16bi3_cc */

                case 1:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7245; /* *andvnx8bi3_cc */

                case 2:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7248; /* *andvnx4bi3_cc */

                case 3:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7251; /* *andvnx2bi3_cc */

                case 4:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7254; /* *andvnx16bi3_ptest */

                case 5:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7257; /* *andvnx8bi3_ptest */

                case 6:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7260; /* *andvnx4bi3_ptest */

                case 7:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7263; /* *andvnx2bi3_ptest */

                case 8:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7274; /* *bicvnx16bi3_cc */

                case 9:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7276; /* *bicvnx8bi3_cc */

                case 10:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7278; /* *bicvnx4bi3_cc */

                case 11:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7280; /* *bicvnx2bi3_cc */

                case 12:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7282; /* *bicvnx16bi3_ptest */

                case 13:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7284; /* *bicvnx8bi3_ptest */

                case 14:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7286; /* *bicvnx4bi3_ptest */

                case 15:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7288; /* *bicvnx2bi3_ptest */

                case 16:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7298; /* *norvnx16bi3_cc */

                case 17:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7300; /* *norvnx8bi3_cc */

                case 18:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7302; /* *norvnx4bi3_cc */

                case 19:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7304; /* *norvnx2bi3_cc */

                case 20:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7306; /* *norvnx16bi3_ptest */

                case 21:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7308; /* *norvnx8bi3_ptest */

                case 22:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7310; /* *norvnx4bi3_ptest */

                case 23:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7312; /* *norvnx2bi3_ptest */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern833 (x1, IOR))
                {
                case 0:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7243; /* *iorvnx16bi3_cc */

                case 1:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7246; /* *iorvnx8bi3_cc */

                case 2:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7249; /* *iorvnx4bi3_cc */

                case 3:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7252; /* *iorvnx2bi3_cc */

                case 4:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7255; /* *iorvnx16bi3_ptest */

                case 5:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7258; /* *iorvnx8bi3_ptest */

                case 6:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7261; /* *iorvnx4bi3_ptest */

                case 7:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7264; /* *iorvnx2bi3_ptest */

                case 8:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7275; /* *ornvnx16bi3_cc */

                case 9:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7277; /* *ornvnx8bi3_cc */

                case 10:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7279; /* *ornvnx4bi3_cc */

                case 11:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7281; /* *ornvnx2bi3_cc */

                case 12:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7283; /* *ornvnx16bi3_ptest */

                case 13:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7285; /* *ornvnx8bi3_ptest */

                case 14:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7287; /* *ornvnx4bi3_ptest */

                case 15:
                  if (!
#line 6490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7289; /* *ornvnx2bi3_ptest */

                case 16:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7299; /* *nandvnx16bi3_cc */

                case 17:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7301; /* *nandvnx8bi3_cc */

                case 18:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7303; /* *nandvnx4bi3_cc */

                case 19:
                  if (!
#line 6534 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7305; /* *nandvnx2bi3_cc */

                case 20:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7307; /* *nandvnx16bi3_ptest */

                case 21:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7309; /* *nandvnx8bi3_ptest */

                case 22:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7311; /* *nandvnx4bi3_ptest */

                case 23:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7313; /* *nandvnx2bi3_ptest */

                default:
                  return -1;
                }

            case XOR:
              x12 = XVECEXP (x3, 0, 1);
              operands[4] = x12;
              operands[5] = x9;
              x16 = XEXP (x11, 0);
              operands[2] = x16;
              x17 = XEXP (x11, 1);
              operands[3] = x17;
              x13 = XEXP (x10, 1);
              if (!rtx_equal_p (x13, operands[4]))
                return -1;
              switch (pattern828 (x1, XOR))
                {
                case 0:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7244; /* *xorvnx16bi3_cc */

                case 1:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7247; /* *xorvnx8bi3_cc */

                case 2:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7250; /* *xorvnx4bi3_cc */

                case 3:
                  if (!
#line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7253; /* *xorvnx2bi3_cc */

                case 4:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7256; /* *xorvnx16bi3_ptest */

                case 5:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7259; /* *xorvnx8bi3_ptest */

                case 6:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7262; /* *xorvnx4bi3_ptest */

                case 7:
                  if (!
#line 6428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7265; /* *xorvnx2bi3_ptest */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x10, 0) != 3)
            return -1;
          switch (XINT (x10, 1))
            {
            case 119:
              return recog_504 (x1, insn, pnum_clobbers);

            case 284:
              switch (pattern848 (x1, 284))
                {
                case 0:
                  if (!
#line 9630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8947; /* *aarch64_brka_cc */

                case 1:
                  if (!
#line 9650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8949; /* *aarch64_brka_ptest */

                default:
                  return -1;
                }

            case 285:
              switch (pattern848 (x1, 285))
                {
                case 0:
                  if (!
#line 9630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8948; /* *aarch64_brkb_cc */

                case 1:
                  if (!
#line 9650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8950; /* *aarch64_brkb_ptest */

                default:
                  return -1;
                }

            case 286:
              switch (pattern849 (x1, 286))
                {
                case 0:
                  if (!
#line 9699 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8954; /* *aarch64_brkn_cc */

                case 1:
                  if (!
#line 9717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8957; /* *aarch64_brkn_ptest */

                default:
                  return -1;
                }

            case 287:
              switch (pattern849 (x1, 287))
                {
                case 0:
                  if (!
#line 9699 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8955; /* *aarch64_brkpa_cc */

                case 1:
                  if (!
#line 9717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8958; /* *aarch64_brkpa_ptest */

                default:
                  return -1;
                }

            case 288:
              switch (pattern849 (x1, 288))
                {
                case 0:
                  if (!
#line 9699 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8956; /* *aarch64_brkpb_cc */

                case 1:
                  if (!
#line 9717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8959; /* *aarch64_brkpb_ptest */

                default:
                  return -1;
                }

            case 289:
              if (GET_MODE (x10) != E_VNx16BImode)
                return -1;
              x12 = XVECEXP (x3, 0, 1);
              operands[2] = x12;
              operands[3] = x9;
              x18 = XVECEXP (x10, 0, 0);
              operands[4] = x18;
              x19 = XVECEXP (x10, 0, 1);
              operands[5] = x19;
              if (!aarch64_sve_ptrue_flag (operands[5], E_SImode))
                return -1;
              switch (pattern925 (x1))
                {
                case 0:
                  if (!
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8965; /* *aarch64_sve_pfirstvnx16bi_cc */

                case 1:
                  if (!
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8970; /* *aarch64_sve_pfirstvnx16bi_ptest */

                default:
                  return -1;
                }

            case 290:
              x12 = XVECEXP (x3, 0, 1);
              operands[2] = x12;
              operands[3] = x9;
              x18 = XVECEXP (x10, 0, 0);
              operands[4] = x18;
              x19 = XVECEXP (x10, 0, 1);
              operands[5] = x19;
              if (!aarch64_sve_ptrue_flag (operands[5], E_SImode))
                return -1;
              switch (pattern910 (x1))
                {
                case 0:
                  if (!
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8966; /* *aarch64_sve_pnextvnx16bi_cc */

                case 1:
                  if (!
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8967; /* *aarch64_sve_pnextvnx8bi_cc */

                case 2:
                  if (!
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8968; /* *aarch64_sve_pnextvnx4bi_cc */

                case 3:
                  if (!
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8969; /* *aarch64_sve_pnextvnx2bi_cc */

                case 4:
                  if (!
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8971; /* *aarch64_sve_pnextvnx16bi_ptest */

                case 5:
                  if (!
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8972; /* *aarch64_sve_pnextvnx8bi_ptest */

                case 6:
                  if (!
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8973; /* *aarch64_sve_pnextvnx4bi_ptest */

                case 7:
                  if (!
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])))
                    return -1;
                  return 8974; /* *aarch64_sve_pnextvnx2bi_ptest */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      return recog_508 (x1, insn, pnum_clobbers);

    case 2:
      return recog_509 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_515 (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);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  switch (XVECLEN (x4, 0))
    {
    case 1:
      x5 = XVECEXP (x4, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (XINT (x4, 1))
        {
        case 12:
          if (pattern497 (x1) != 0
              || !
#line 7524 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME))
            return -1;
          return 1120; /* tstart */

        case 148:
          if (pattern497 (x1) != 0
              || !
#line 7533 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME))
            return -1;
          return 1121; /* ttest */

        case 15:
          if (pattern499 (x1, 15) != 0
              || !
#line 7560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_RNG))
            return -1;
          return 1124; /* aarch64_rndr */

        case 16:
          if (pattern499 (x1, 16) != 0
              || !
#line 7570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_RNG))
            return -1;
          return 1125; /* aarch64_rndrrs */

        case 54:
          if (pattern500 (x1, 53) != 0
              || !
#line 7691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1134; /* st64bv */

        case 56:
          if (pattern500 (x1, 55) != 0
              || !
#line 7703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1135; /* st64bv0 */

        case 18:
          if (GET_MODE (x4) != E_SImode)
            return -1;
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != SET)
            return -1;
          x7 = XEXP (x6, 1);
          if (GET_CODE (x7) != UNSPEC_VOLATILE
              || XINT (x7, 1) != 18
              || !register_operand (operands[0], E_SImode))
            return -1;
          x8 = XEXP (x6, 0);
          operands[1] = x8;
          switch (XVECLEN (x7, 0))
            {
            case 2:
              x9 = XVECEXP (x7, 0, 0);
              operands[2] = x9;
              x10 = XVECEXP (x7, 0, 1);
              operands[3] = x10;
              if (!const_int_operand (operands[3], E_SImode))
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_QImode:
                  if (!aarch64_sync_memory_operand (operands[1], E_QImode)
                      || GET_MODE (x7) != E_QImode
                      || !aarch64_reg_or_zero (operands[2], E_QImode))
                    return -1;
                  return 4463; /* aarch64_store_exclusiveqi */

                case E_HImode:
                  if (!aarch64_sync_memory_operand (operands[1], E_HImode)
                      || GET_MODE (x7) != E_HImode
                      || !aarch64_reg_or_zero (operands[2], E_HImode))
                    return -1;
                  return 4464; /* aarch64_store_exclusivehi */

                case E_SImode:
                  if (!aarch64_sync_memory_operand (operands[1], E_SImode)
                      || GET_MODE (x7) != E_SImode
                      || !aarch64_reg_or_zero (operands[2], E_SImode))
                    return -1;
                  return 4465; /* aarch64_store_exclusivesi */

                case E_DImode:
                  if (!aarch64_sync_memory_operand (operands[1], E_DImode)
                      || GET_MODE (x7) != E_DImode
                      || !aarch64_reg_or_zero (operands[2], E_DImode))
                    return -1;
                  return 4466; /* aarch64_store_exclusivedi */

                default:
                  return -1;
                }

            case 3:
              if (GET_MODE (x7) != E_TImode
                  || !aarch64_sync_memory_operand (operands[1], E_TImode))
                return -1;
              x9 = XVECEXP (x7, 0, 0);
              operands[2] = x9;
              if (!aarch64_reg_or_zero (operands[2], E_DImode))
                return -1;
              x10 = XVECEXP (x7, 0, 1);
              operands[3] = x10;
              if (!aarch64_reg_or_zero (operands[3], E_DImode))
                return -1;
              x11 = XVECEXP (x7, 0, 2);
              operands[4] = x11;
              if (!const_int_operand (operands[4], E_SImode))
                return -1;
              return 4467; /* aarch64_store_exclusive_pair */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x12 = XVECEXP (x4, 0, 1);
      operands[1] = x12;
      x13 = XVECEXP (x4, 0, 2);
      operands[2] = x13;
      if (!const_int_operand (operands[2], E_SImode))
        return -1;
      x8 = XEXP (x6, 0);
      operands[3] = x8;
      x5 = XVECEXP (x4, 0, 0);
      if (!rtx_equal_p (x5, operands[0]))
        return -1;
      switch (XINT (x4, 1))
        {
        case 26:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern773 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4366; /* aarch64_atomic_iorqi_lse */

            case E_HImode:
              if (pattern773 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4370; /* aarch64_atomic_iorhi_lse */

            case E_SImode:
              if (pattern773 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4374; /* aarch64_atomic_iorsi_lse */

            case E_DImode:
              if (pattern773 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4378; /* aarch64_atomic_iordi_lse */

            default:
              return -1;
            }

        case 27:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern773 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4367; /* aarch64_atomic_bicqi_lse */

            case E_HImode:
              if (pattern773 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4371; /* aarch64_atomic_bichi_lse */

            case E_SImode:
              if (pattern773 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4375; /* aarch64_atomic_bicsi_lse */

            case E_DImode:
              if (pattern773 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4379; /* aarch64_atomic_bicdi_lse */

            default:
              return -1;
            }

        case 28:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern773 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4368; /* aarch64_atomic_xorqi_lse */

            case E_HImode:
              if (pattern773 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4372; /* aarch64_atomic_xorhi_lse */

            case E_SImode:
              if (pattern773 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4376; /* aarch64_atomic_xorsi_lse */

            case E_DImode:
              if (pattern773 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4380; /* aarch64_atomic_xordi_lse */

            default:
              return -1;
            }

        case 29:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern773 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4369; /* aarch64_atomic_addqi_lse */

            case E_HImode:
              if (pattern773 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4373; /* aarch64_atomic_addhi_lse */

            case E_SImode:
              if (pattern773 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4377; /* aarch64_atomic_addsi_lse */

            case E_DImode:
              if (pattern773 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4381; /* aarch64_atomic_adddi_lse */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      if (XINT (x4, 1) != 17
          || GET_MODE (x4) != E_DImode)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        return -1;
      x7 = XEXP (x6, 1);
      if (pattern540 (x7, E_DImode, 17, 2, UNSPEC_VOLATILE) != 0
          || !register_operand (operands[0], E_DImode))
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      operands[2] = x5;
      if (!aarch64_sync_memory_operand (operands[2], E_TImode))
        return -1;
      x12 = XVECEXP (x4, 0, 1);
      operands[3] = x12;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      x8 = XEXP (x6, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], E_DImode))
        return -1;
      x9 = XVECEXP (x7, 0, 0);
      if (!rtx_equal_p (x9, operands[2]))
        return -1;
      x10 = XVECEXP (x7, 0, 1);
      if (!rtx_equal_p (x10, operands[3]))
        return -1;
      return 4462; /* aarch64_load_exclusive_pair */

    default:
      return -1;
    }
}

static int
recog_516 (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);
  switch (GET_CODE (x3))
    {
    case IF_THEN_ELSE:
      x4 = XEXP (x3, 1);
      if (GET_CODE (x4) != LABEL_REF)
        return -1;
      x5 = XEXP (x3, 2);
      if (GET_CODE (x5) != PC)
        return -1;
      x6 = XEXP (x2, 0);
      if (GET_CODE (x6) != PC)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (pattern184 (x7, E_CCmode, 66) != 0)
        return -1;
      x8 = XEXP (x3, 0);
      switch (GET_CODE (x8))
        {
        case EQ:
          switch (pattern680 (x3))
            {
            case 0:
              if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 34; /* *tbeqsi1 */

            case 1:
              if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 36; /* *tbeqdi1 */

            default:
              return -1;
            }

        case NE:
          switch (pattern680 (x3))
            {
            case 0:
              if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 35; /* *tbnesi1 */

            case 1:
              if (!
#line 959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 37; /* *tbnedi1 */

            default:
              return -1;
            }

        case LT:
          switch (pattern681 (x3))
            {
            case 0:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 38; /* *cbltqi1 */

            case 1:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 40; /* *cblthi1 */

            case 2:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 42; /* *cbltsi1 */

            case 3:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 44; /* *cbltdi1 */

            default:
              return -1;
            }

        case GE:
          switch (pattern681 (x3))
            {
            case 0:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 39; /* *cbgeqi1 */

            case 1:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 41; /* *cbgehi1 */

            case 2:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 43; /* *cbgesi1 */

            case 3:
              if (!
#line 995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 45; /* *cbgedi1 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CALL:
      if (pnum_clobbers == NULL
          || pattern177 (x1) != 0)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      x9 = XVECEXP (x7, 0, 0);
      if (!const_int_operand (x9, E_DImode))
        return -1;
      x8 = XEXP (x3, 0);
      x10 = XEXP (x8, 0);
      switch (GET_CODE (x10))
        {
        case REG:
        case SUBREG:
        case SYMBOL_REF:
          operands[1] = x10;
          if (!aarch64_call_insn_operand (operands[1], E_DImode))
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x4 = XEXP (x3, 1);
          operands[2] = x4;
          operands[3] = x9;
          *pnum_clobbers = 1;
          return 47; /* *call_value_insn */

        case UNSPEC:
          if (pattern651 (x2) != 0)
            return -1;
          x11 = XVECEXP (x10, 0, 0);
          operands[0] = x11;
          if (!aarch64_valid_symref (operands[0], E_VOIDmode))
            return -1;
          operands[1] = x9;
          x6 = XEXP (x2, 0);
          switch (GET_MODE (x6))
            {
            case E_SImode:
              if (GET_MODE (x10) != E_SImode
                  || !(
#line 7070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 1052; /* tlsdesc_small_sve_si */

            case E_DImode:
              if (GET_MODE (x10) != E_DImode
                  || !(
#line 7070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 1053; /* tlsdesc_small_sve_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SIGN_EXTEND:
      if (GET_MODE (x3) != E_DImode)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      x12 = XEXP (x7, 1);
      if (GET_CODE (x12) != SIGN_EXTEND
          || GET_MODE (x12) != E_DImode)
        return -1;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      if (!register_operand (operands[0], E_DImode))
        return -1;
      x8 = XEXP (x3, 0);
      operands[1] = x8;
      if (!aarch64_mem_pair_operand (operands[1], E_SImode))
        return -1;
      x13 = XEXP (x7, 0);
      operands[2] = x13;
      if (!register_operand (operands[2], E_DImode))
        return -1;
      x14 = XEXP (x12, 0);
      operands[3] = x14;
      if (!memory_operand (operands[3], E_SImode)
          || !
#line 1938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (SImode)))))
        return -1;
      return 110; /* *load_pair_extendsidi2_aarch64 */

    case ZERO_EXTEND:
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x8 = XEXP (x3, 0);
      operands[1] = x8;
      x12 = XEXP (x7, 1);
      switch (GET_CODE (x12))
        {
        case ZERO_EXTEND:
          if (GET_MODE (x12) != E_DImode
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || !aarch64_mem_pair_operand (operands[1], E_SImode))
            return -1;
          x13 = XEXP (x7, 0);
          operands[2] = x13;
          if (!register_operand (operands[2], E_DImode))
            return -1;
          x14 = XEXP (x12, 0);
          operands[3] = x14;
          if (!memory_operand (operands[3], E_SImode)
              || !
#line 1966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (SImode)))))
            return -1;
          return 112; /* *load_pair_zero_extendsidi2_aarch64 */

        case UNSPEC_VOLATILE:
          if (XVECLEN (x12, 0) != 3
              || XINT (x12, 1) != 21
              || !register_operand (operands[0], E_SImode)
              || GET_MODE (x3) != E_SImode)
            return -1;
          x15 = XVECEXP (x12, 0, 1);
          operands[2] = x15;
          x16 = XVECEXP (x12, 0, 2);
          operands[3] = x16;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          x17 = XVECEXP (x12, 0, 0);
          if (!rtx_equal_p (x17, operands[0]))
            return -1;
          x13 = XEXP (x7, 0);
          if (!rtx_equal_p (x13, operands[1]))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_QImode:
              if (!aarch64_sync_memory_operand (operands[1], E_QImode)
                  || GET_MODE (x12) != E_QImode
                  || !aarch64_reg_or_zero (operands[2], E_QImode)
                  || !
#line 128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4333; /* aarch64_compare_and_swapqi_lse */

            case E_HImode:
              if (!aarch64_sync_memory_operand (operands[1], E_HImode)
                  || GET_MODE (x12) != E_HImode
                  || !aarch64_reg_or_zero (operands[2], E_HImode)
                  || !
#line 128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4334; /* aarch64_compare_and_swaphi_lse */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case COMPARE:
      return recog_512 (x1, insn, pnum_clobbers);

    case EQ:
      switch (pattern169 (x1))
        {
        case 0:
          if (!
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed))
            return -1;
          return 446; /* *compare_cstoresi_insn */

        case 1:
          if (!
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed))
            return -1;
          return 448; /* *compare_cstoredi_insn */

        default:
          return -1;
        }

    case NE:
      switch (pattern169 (x1))
        {
        case 0:
          if (!
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed))
            return -1;
          return 447; /* *compare_cstoresi_insn */

        case 1:
          if (!
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed))
            return -1;
          return 449; /* *compare_cstoredi_insn */

        default:
          return -1;
        }

    case PLUS:
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x8 = XEXP (x3, 0);
      switch (GET_CODE (x8))
        {
        case SMAX:
          switch (pattern352 (x1))
            {
            case 0:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
                return -1;
              return 490; /* *aarch64_minmax_plus */

            case 1:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
                return -1;
              return 494; /* *aarch64_minmax_plus */

            default:
              return -1;
            }

        case SMIN:
          switch (pattern352 (x1))
            {
            case 0:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
                return -1;
              return 491; /* *aarch64_minmax_plus */

            case 1:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
                return -1;
              return 495; /* *aarch64_minmax_plus */

            default:
              return -1;
            }

        case UMAX:
          switch (pattern352 (x1))
            {
            case 0:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
                return -1;
              return 492; /* *aarch64_minmax_plus */

            case 1:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
                return -1;
              return 496; /* *aarch64_minmax_plus */

            default:
              return -1;
            }

        case UMIN:
          switch (pattern352 (x1))
            {
            case 0:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
                return -1;
              return 493; /* *aarch64_minmax_plus */

            case 1:
              if (!
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
                return -1;
              return 497; /* *aarch64_minmax_plus */

            default:
              return -1;
            }

        case SUBREG:
        case MEM:
          if (pattern353 (x1, pnum_clobbers) != 0)
            return -1;
          switch (pattern646 (x1))
            {
            case 0:
              *pnum_clobbers = 2;
              return 4426; /* aarch64_atomic_add_fetchqi */

            case 1:
              *pnum_clobbers = 2;
              return 4431; /* aarch64_atomic_add_fetchhi */

            case 2:
              *pnum_clobbers = 2;
              return 4436; /* aarch64_atomic_add_fetchsi */

            case 3:
              *pnum_clobbers = 2;
              return 4441; /* aarch64_atomic_add_fetchdi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      return recog_514 (x1, insn, pnum_clobbers);

    case UNSPEC_VOLATILE:
      return recog_515 (x1, insn, pnum_clobbers);

    case NEG:
      switch (pattern170 (x1))
        {
        case 0:
          if (!
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3372; /* aarch64_cmltdi */

        case 1:
          if (!
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3373; /* aarch64_cmledi */

        case 2:
          if (!
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3374; /* aarch64_cmeqdi */

        case 3:
          if (!
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3375; /* aarch64_cmgedi */

        case 4:
          if (!
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3376; /* aarch64_cmgtdi */

        case 5:
          if (!
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3410; /* aarch64_cmltudi */

        case 6:
          if (!
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3411; /* aarch64_cmleudi */

        case 7:
          if (!
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3412; /* aarch64_cmgeudi */

        case 8:
          if (!
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3413; /* aarch64_cmgtudi */

        case 9:
          if (!
#line 6616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3432; /* aarch64_cmtstdi */

        default:
          return -1;
        }

    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      switch (GET_CODE (x3))
        {
        case MEM:
          res = recog_510 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
        case REG:
        case SUBREG:
          res = recog_511 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      x12 = XEXP (x7, 1);
      if (GET_CODE (x12) != UNSPEC_VOLATILE)
        return -1;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      operands[1] = x3;
      x13 = XEXP (x7, 0);
      if (!rtx_equal_p (x13, operands[1]))
        return -1;
      switch (XVECLEN (x12, 0))
        {
        case 3:
          x15 = XVECEXP (x12, 0, 1);
          operands[2] = x15;
          x16 = XVECEXP (x12, 0, 2);
          operands[3] = x16;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          switch (XINT (x12, 1))
            {
            case 21:
              x17 = XVECEXP (x12, 0, 0);
              if (!rtx_equal_p (x17, operands[0]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern835 (x12, E_SImode) != 0
                      || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4335; /* aarch64_compare_and_swapsi_lse */

                case E_DImode:
                  if (pattern835 (x12, E_DImode) != 0
                      || !
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4336; /* aarch64_compare_and_swapdi_lse */

                case E_TImode:
                  if (pattern775 (x12, E_TImode) != 0
                      || !
#line 172 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4337; /* aarch64_compare_and_swapti_lse */

                default:
                  return -1;
                }

            case 26:
              switch (pattern776 (x12))
                {
                case 0:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4406; /* aarch64_atomic_fetch_iorqi_lse */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4410; /* aarch64_atomic_fetch_iorhi_lse */

                case 2:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4414; /* aarch64_atomic_fetch_iorsi_lse */

                case 3:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4418; /* aarch64_atomic_fetch_iordi_lse */

                default:
                  return -1;
                }

            case 27:
              switch (pattern776 (x12))
                {
                case 0:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4407; /* aarch64_atomic_fetch_bicqi_lse */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4411; /* aarch64_atomic_fetch_bichi_lse */

                case 2:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4415; /* aarch64_atomic_fetch_bicsi_lse */

                case 3:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4419; /* aarch64_atomic_fetch_bicdi_lse */

                default:
                  return -1;
                }

            case 28:
              switch (pattern776 (x12))
                {
                case 0:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4408; /* aarch64_atomic_fetch_xorqi_lse */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4412; /* aarch64_atomic_fetch_xorhi_lse */

                case 2:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4416; /* aarch64_atomic_fetch_xorsi_lse */

                case 3:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4420; /* aarch64_atomic_fetch_xordi_lse */

                default:
                  return -1;
                }

            case 29:
              switch (pattern776 (x12))
                {
                case 0:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4409; /* aarch64_atomic_fetch_addqi_lse */

                case 1:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4413; /* aarch64_atomic_fetch_addhi_lse */

                case 2:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4417; /* aarch64_atomic_fetch_addsi_lse */

                case 3:
                  if (!
#line 528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4421; /* aarch64_atomic_fetch_adddi_lse */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 2:
          x15 = XVECEXP (x12, 0, 1);
          operands[3] = x15;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          switch (XINT (x12, 1))
            {
            case 22:
              x17 = XVECEXP (x12, 0, 0);
              operands[2] = x17;
              switch (GET_MODE (operands[0]))
                {
                case E_QImode:
                  if (pattern802 (x12, E_QImode) != 0)
                    return -1;
                  if (pnum_clobbers != NULL)
                    {
                      *pnum_clobbers = 2;
                      return 4338; /* aarch64_atomic_exchangeqi */
                    }
                  if (!
#line 246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4342; /* aarch64_atomic_exchangeqi_lse */

                case E_HImode:
                  if (pattern802 (x12, E_HImode) != 0)
                    return -1;
                  if (pnum_clobbers != NULL)
                    {
                      *pnum_clobbers = 2;
                      return 4339; /* aarch64_atomic_exchangehi */
                    }
                  if (!
#line 246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4343; /* aarch64_atomic_exchangehi_lse */

                case E_SImode:
                  if (pattern802 (x12, E_SImode) != 0)
                    return -1;
                  if (pnum_clobbers != NULL)
                    {
                      *pnum_clobbers = 2;
                      return 4340; /* aarch64_atomic_exchangesi */
                    }
                  if (!
#line 246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4344; /* aarch64_atomic_exchangesi_lse */

                case E_DImode:
                  if (pattern802 (x12, E_DImode) != 0)
                    return -1;
                  if (pnum_clobbers != NULL)
                    {
                      *pnum_clobbers = 2;
                      return 4341; /* aarch64_atomic_exchangedi */
                    }
                  if (!
#line 246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4345; /* aarch64_atomic_exchangedi_lse */

                default:
                  return -1;
                }

            case 25:
              if (pnum_clobbers == NULL)
                return -1;
              x17 = XVECEXP (x12, 0, 0);
              switch (GET_CODE (x17))
                {
                case PLUS:
                  switch (pattern804 (x12))
                    {
                    case 0:
                      *pnum_clobbers = 3;
                      return 4386; /* aarch64_atomic_fetch_addqi */

                    case 1:
                      *pnum_clobbers = 3;
                      return 4391; /* aarch64_atomic_fetch_addhi */

                    case 2:
                      *pnum_clobbers = 3;
                      return 4396; /* aarch64_atomic_fetch_addsi */

                    case 3:
                      *pnum_clobbers = 3;
                      return 4401; /* aarch64_atomic_fetch_adddi */

                    default:
                      return -1;
                    }

                case MINUS:
                  switch (pattern804 (x12))
                    {
                    case 0:
                      *pnum_clobbers = 3;
                      return 4387; /* aarch64_atomic_fetch_subqi */

                    case 1:
                      *pnum_clobbers = 3;
                      return 4392; /* aarch64_atomic_fetch_subhi */

                    case 2:
                      *pnum_clobbers = 3;
                      return 4397; /* aarch64_atomic_fetch_subsi */

                    case 3:
                      *pnum_clobbers = 3;
                      return 4402; /* aarch64_atomic_fetch_subdi */

                    default:
                      return -1;
                    }

                case IOR:
                  switch (pattern806 (x12))
                    {
                    case 0:
                      *pnum_clobbers = 3;
                      return 4388; /* aarch64_atomic_fetch_orqi */

                    case 1:
                      *pnum_clobbers = 3;
                      return 4393; /* aarch64_atomic_fetch_orhi */

                    case 2:
                      *pnum_clobbers = 3;
                      return 4398; /* aarch64_atomic_fetch_orsi */

                    case 3:
                      *pnum_clobbers = 3;
                      return 4403; /* aarch64_atomic_fetch_ordi */

                    default:
                      return -1;
                    }

                case XOR:
                  switch (pattern806 (x12))
                    {
                    case 0:
                      *pnum_clobbers = 3;
                      return 4389; /* aarch64_atomic_fetch_xorqi */

                    case 1:
                      *pnum_clobbers = 3;
                      return 4394; /* aarch64_atomic_fetch_xorhi */

                    case 2:
                      *pnum_clobbers = 3;
                      return 4399; /* aarch64_atomic_fetch_xorsi */

                    case 3:
                      *pnum_clobbers = 3;
                      return 4404; /* aarch64_atomic_fetch_xordi */

                    default:
                      return -1;
                    }

                case AND:
                  switch (pattern806 (x12))
                    {
                    case 0:
                      *pnum_clobbers = 3;
                      return 4390; /* aarch64_atomic_fetch_andqi */

                    case 1:
                      *pnum_clobbers = 3;
                      return 4395; /* aarch64_atomic_fetch_andhi */

                    case 2:
                      *pnum_clobbers = 3;
                      return 4400; /* aarch64_atomic_fetch_andsi */

                    case 3:
                      *pnum_clobbers = 3;
                      return 4405; /* aarch64_atomic_fetch_anddi */

                    default:
                      return -1;
                    }

                case NOT:
                  x18 = XEXP (x17, 0);
                  if (GET_CODE (x18) != AND)
                    return -1;
                  x19 = XEXP (x18, 1);
                  operands[2] = x19;
                  x20 = XEXP (x18, 0);
                  if (!rtx_equal_p (x20, operands[1]))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_QImode:
                      if (pattern883 (x12, E_QImode) != 0)
                        return -1;
                      *pnum_clobbers = 3;
                      return 4422; /* atomic_fetch_nandqi */

                    case E_HImode:
                      if (pattern883 (x12, E_HImode) != 0)
                        return -1;
                      *pnum_clobbers = 3;
                      return 4423; /* atomic_fetch_nandhi */

                    case E_SImode:
                      if (pattern883 (x12, E_SImode) != 0)
                        return -1;
                      *pnum_clobbers = 3;
                      return 4424; /* atomic_fetch_nandsi */

                    case E_DImode:
                      if (pattern883 (x12, E_DImode) != 0)
                        return -1;
                      *pnum_clobbers = 3;
                      return 4425; /* atomic_fetch_nanddi */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case MINUS:
      if (pnum_clobbers == NULL)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (pattern277 (x7) != 0)
        return -1;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x8 = XEXP (x3, 0);
      operands[1] = x8;
      switch (pattern646 (x1))
        {
        case 0:
          *pnum_clobbers = 2;
          return 4427; /* aarch64_atomic_sub_fetchqi */

        case 1:
          *pnum_clobbers = 2;
          return 4432; /* aarch64_atomic_sub_fetchhi */

        case 2:
          *pnum_clobbers = 2;
          return 4437; /* aarch64_atomic_sub_fetchsi */

        case 3:
          *pnum_clobbers = 2;
          return 4442; /* aarch64_atomic_sub_fetchdi */

        default:
          return -1;
        }

    case IOR:
      switch (pattern174 (x1, pnum_clobbers))
        {
        case 0:
          *pnum_clobbers = 2;
          return 4428; /* aarch64_atomic_or_fetchqi */

        case 1:
          *pnum_clobbers = 2;
          return 4433; /* aarch64_atomic_or_fetchhi */

        case 2:
          *pnum_clobbers = 2;
          return 4438; /* aarch64_atomic_or_fetchsi */

        case 3:
          *pnum_clobbers = 2;
          return 4443; /* aarch64_atomic_or_fetchdi */

        default:
          return -1;
        }

    case XOR:
      switch (pattern174 (x1, pnum_clobbers))
        {
        case 0:
          *pnum_clobbers = 2;
          return 4429; /* aarch64_atomic_xor_fetchqi */

        case 1:
          *pnum_clobbers = 2;
          return 4434; /* aarch64_atomic_xor_fetchhi */

        case 2:
          *pnum_clobbers = 2;
          return 4439; /* aarch64_atomic_xor_fetchsi */

        case 3:
          *pnum_clobbers = 2;
          return 4444; /* aarch64_atomic_xor_fetchdi */

        default:
          return -1;
        }

    case AND:
      return recog_513 (x1, insn, pnum_clobbers);

    case NOT:
      if (pnum_clobbers == NULL)
        return -1;
      x8 = XEXP (x3, 0);
      if (GET_CODE (x8) != AND)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (pattern277 (x7) != 0)
        return -1;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x10 = XEXP (x8, 0);
      operands[1] = x10;
      x21 = XEXP (x8, 1);
      operands[2] = x21;
      x12 = XEXP (x7, 1);
      x16 = XVECEXP (x12, 0, 2);
      operands[3] = x16;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      switch (pattern808 (x1))
        {
        case 0:
          *pnum_clobbers = 2;
          return 4446; /* atomic_nand_fetchqi */

        case 1:
          *pnum_clobbers = 2;
          return 4447; /* atomic_nand_fetchhi */

        case 2:
          *pnum_clobbers = 2;
          return 4448; /* atomic_nand_fetchsi */

        case 3:
          *pnum_clobbers = 2;
          return 4449; /* atomic_nand_fetchdi */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern175 (x1))
        {
        case 0:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5069; /* *vec_duplicatevnx16qi_reg */

        case 1:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5070; /* *vec_duplicatevnx8qi_reg */

        case 2:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5071; /* *vec_duplicatevnx4qi_reg */

        case 3:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5072; /* *vec_duplicatevnx2qi_reg */

        case 4:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5073; /* *vec_duplicatevnx8hi_reg */

        case 5:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5074; /* *vec_duplicatevnx4hi_reg */

        case 6:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5075; /* *vec_duplicatevnx2hi_reg */

        case 7:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5076; /* *vec_duplicatevnx8hf_reg */

        case 8:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5077; /* *vec_duplicatevnx4hf_reg */

        case 9:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5078; /* *vec_duplicatevnx2hf_reg */

        case 10:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5079; /* *vec_duplicatevnx8bf_reg */

        case 11:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5080; /* *vec_duplicatevnx4bf_reg */

        case 12:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5081; /* *vec_duplicatevnx2bf_reg */

        case 13:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5082; /* *vec_duplicatevnx4si_reg */

        case 14:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5083; /* *vec_duplicatevnx2si_reg */

        case 15:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5084; /* *vec_duplicatevnx4sf_reg */

        case 16:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5085; /* *vec_duplicatevnx2sf_reg */

        case 17:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5086; /* *vec_duplicatevnx2di_reg */

        case 18:
          if (!
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5087; /* *vec_duplicatevnx2df_reg */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_517 (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, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  if (aarch64_call_insn_operand (operands[1], E_DImode))
    {
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      x7 = XVECEXP (x1, 0, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[3] = x8;
      if (const_int_operand (operands[3], E_DImode))
        {
          x9 = XVECEXP (x1, 0, 2);
          switch (pattern777 (x9))
            {
            case 0:
              return 47; /* *call_value_insn */

            case 1:
              if (
#line 1137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(SIBLING_CALL_P (insn)))
                return 49; /* *sibcall_value_insn */
              break;

            default:
              break;
            }
        }
    }
  if (pnum_clobbers == NULL)
    return -1;
  x6 = XEXP (x3, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || pattern652 (x1) != 0)
    return -1;
  switch (pattern865 (x1))
    {
    case 0:
      if (!
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      *pnum_clobbers = 1;
      return 1034; /* *tlsgd_small_si */

    case 1:
      if (!
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      *pnum_clobbers = 1;
      return 1035; /* *tlsgd_small_di */

    default:
      return -1;
    }
}

static int
recog_518 (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;
  int res ATTRIBUTE_UNUSED;
  switch (XVECLEN (x1, 0))
    {
    case 5:
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != SET)
        return -1;
      x3 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x3) != CLOBBER)
        return -1;
      x4 = XVECEXP (x1, 0, 3);
      if (GET_CODE (x4) != CLOBBER)
        return -1;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case SUBREG:
        case MEM:
          x6 = XEXP (x4, 0);
          operands[4] = x6;
          if (scratch_operand (operands[4], E_DImode))
            {
              res = recog_448 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
            }
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != SET)
            return -1;
          x8 = XEXP (x7, 1);
          if (GET_CODE (x8) != UNSPEC_VOLATILE
              || XVECLEN (x8, 0) != 2
              || XINT (x8, 1) != 25)
            return -1;
          x9 = XEXP (x3, 0);
          if (GET_CODE (x9) != REG
              || REGNO (x9) != 66
              || GET_MODE (x9) != E_CCmode)
            return -1;
          x10 = XVECEXP (x1, 0, 4);
          if (GET_CODE (x10) != CLOBBER)
            return -1;
          x11 = XEXP (x2, 0);
          operands[0] = x11;
          operands[1] = x5;
          x12 = XVECEXP (x8, 0, 1);
          operands[3] = x12;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          switch (pattern874 (x1))
            {
            case 0:
              return 4386; /* aarch64_atomic_fetch_addqi */

            case 1:
              return 4391; /* aarch64_atomic_fetch_addhi */

            case 2:
              return 4396; /* aarch64_atomic_fetch_addsi */

            case 3:
              return 4401; /* aarch64_atomic_fetch_adddi */

            case 4:
              return 4387; /* aarch64_atomic_fetch_subqi */

            case 5:
              return 4392; /* aarch64_atomic_fetch_subhi */

            case 6:
              return 4397; /* aarch64_atomic_fetch_subsi */

            case 7:
              return 4402; /* aarch64_atomic_fetch_subdi */

            case 8:
              return 4388; /* aarch64_atomic_fetch_orqi */

            case 9:
              return 4393; /* aarch64_atomic_fetch_orhi */

            case 10:
              return 4398; /* aarch64_atomic_fetch_orsi */

            case 11:
              return 4403; /* aarch64_atomic_fetch_ordi */

            case 12:
              return 4389; /* aarch64_atomic_fetch_xorqi */

            case 13:
              return 4394; /* aarch64_atomic_fetch_xorhi */

            case 14:
              return 4399; /* aarch64_atomic_fetch_xorsi */

            case 15:
              return 4404; /* aarch64_atomic_fetch_xordi */

            case 16:
              return 4390; /* aarch64_atomic_fetch_andqi */

            case 17:
              return 4395; /* aarch64_atomic_fetch_andhi */

            case 18:
              return 4400; /* aarch64_atomic_fetch_andsi */

            case 19:
              return 4405; /* aarch64_atomic_fetch_anddi */

            case 20:
              return 4422; /* atomic_fetch_nandqi */

            case 21:
              return 4423; /* atomic_fetch_nandhi */

            case 22:
              return 4424; /* atomic_fetch_nandsi */

            case 23:
              return 4425; /* atomic_fetch_nanddi */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x5, 0) != 1
              || XINT (x5, 1) != 86)
            return -1;
          x11 = XEXP (x2, 0);
          if (GET_CODE (x11) != REG
              || REGNO (x11) != 0)
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (pattern184 (x7, E_DImode, 30) != 0)
            return -1;
          x9 = XEXP (x3, 0);
          if (GET_CODE (x9) != REG
              || REGNO (x9) != 66
              || GET_MODE (x9) != E_CCmode)
            return -1;
          x10 = XVECEXP (x1, 0, 4);
          if (GET_CODE (x10) != USE)
            return -1;
          x13 = XEXP (x10, 0);
          if (GET_CODE (x13) != REG
              || REGNO (x13) != 29
              || GET_MODE (x13) != E_DImode)
            return -1;
          x14 = XVECEXP (x5, 0, 0);
          operands[0] = x14;
          if (!aarch64_valid_symref (operands[0], E_VOIDmode))
            return -1;
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (!scratch_operand (operands[1], E_DImode))
            return -1;
          switch (GET_MODE (x11))
            {
            case E_SImode:
              if (GET_MODE (x5) != E_SImode
                  || !(
#line 7054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && !TARGET_SVE) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
                return -1;
              return 1050; /* tlsdesc_small_advsimd_si */

            case E_DImode:
              if (GET_MODE (x5) != E_DImode
                  || !(
#line 7054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && !TARGET_SVE) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
                return -1;
              return 1051; /* tlsdesc_small_advsimd_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      x2 = XVECEXP (x1, 0, 0);
      switch (GET_CODE (x2))
        {
        case SET:
          return recog_516 (x1, insn, pnum_clobbers);

        case CALL:
          if (pnum_clobbers == NULL
              || pattern36 (x1) != 0)
            return -1;
          *pnum_clobbers = 1;
          return 46; /* *call_insn */

        case UNSPEC_VOLATILE:
          if (XVECLEN (x2, 0) != 1)
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != CLOBBER)
            return -1;
          x15 = XEXP (x7, 0);
          if (GET_CODE (x15) != MEM
              || GET_MODE (x15) != E_BLKmode)
            return -1;
          x16 = XEXP (x15, 0);
          if (GET_CODE (x16) != SCRATCH
              || GET_MODE (x2) != E_BLKmode)
            return -1;
          switch (XINT (x2, 1))
            {
            case 13:
              x17 = XVECEXP (x2, 0, 0);
              if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !
#line 7541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME))
                return -1;
              return 1122; /* tcommit */

            case 14:
              x17 = XVECEXP (x2, 0, 0);
              operands[0] = x17;
              if (!const_int_operand (operands[0], E_VOIDmode)
                  || !
#line 7550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME && (UINTVAL (operands[0]) <= 65535)))
                return -1;
              return 1123; /* tcancel */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      x2 = XVECEXP (x1, 0, 0);
      switch (GET_CODE (x2))
        {
        case CALL:
          if (pattern36 (x1) != 0)
            return -1;
          x3 = XVECEXP (x1, 0, 2);
          switch (pattern777 (x3))
            {
            case 0:
              return 46; /* *call_insn */

            case 1:
              if (!
#line 1117 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(SIBLING_CALL_P (insn)))
                return -1;
              return 48; /* *sibcall_insn */

            default:
              return -1;
            }

        case SET:
          x5 = XEXP (x2, 1);
          switch (GET_CODE (x5))
            {
            case CALL:
              if (pattern177 (x1) != 0)
                return -1;
              x11 = XEXP (x2, 0);
              operands[0] = x11;
              res = recog_517 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              x18 = XEXP (x5, 0);
              x19 = XEXP (x18, 0);
              if (GET_CODE (x19) != UNSPEC
                  || pattern651 (x2) != 0)
                return -1;
              x3 = XVECEXP (x1, 0, 2);
              if (pattern460 (x3, E_DImode, 30) != 0)
                return -1;
              x20 = XVECEXP (x19, 0, 0);
              operands[0] = x20;
              if (!aarch64_valid_symref (operands[0], E_VOIDmode))
                return -1;
              x7 = XVECEXP (x1, 0, 1);
              x21 = XVECEXP (x7, 0, 0);
              operands[1] = x21;
              if (!const_int_operand (operands[1], E_DImode))
                return -1;
              switch (GET_MODE (x11))
                {
                case E_SImode:
                  if (GET_MODE (x19) != E_SImode
                      || !(
#line 7070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
                    return -1;
                  return 1052; /* tlsdesc_small_sve_si */

                case E_DImode:
                  if (GET_MODE (x19) != E_DImode
                      || !(
#line 7070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
                    return -1;
                  return 1053; /* tlsdesc_small_sve_di */

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x5, 0) != 0L
                  || pattern278 (x1, 73, 2, UNSPEC, CLOBBER) != 0)
                return -1;
              x3 = XVECEXP (x1, 0, 2);
              x22 = XEXP (x3, 1);
              if (GET_MODE (x22) != E_BLKmode)
                return -1;
              x9 = XEXP (x3, 0);
              if (GET_CODE (x9) != MEM
                  || GET_MODE (x9) != E_BLKmode)
                return -1;
              x11 = XEXP (x2, 0);
              operands[2] = x11;
              if (!register_operand (operands[2], E_DImode))
                return -1;
              x7 = XVECEXP (x1, 0, 1);
              x15 = XEXP (x7, 0);
              operands[0] = x15;
              if (!register_operand (operands[0], E_DImode))
                return -1;
              x23 = XVECEXP (x22, 0, 0);
              operands[1] = x23;
              if (!aarch64_reg_or_zero (operands[1], E_QImode))
                return -1;
              x24 = XVECEXP (x22, 0, 1);
              if (!rtx_equal_p (x24, operands[2]))
                return -1;
              x25 = XEXP (x9, 0);
              if (!rtx_equal_p (x25, operands[0])
                  || !
#line 1692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MOPS))
                return -1;
              return 66; /* *aarch64_setmemdi */

            case PLUS:
              x7 = XVECEXP (x1, 0, 1);
              if (GET_CODE (x7) != SET)
                return -1;
              x3 = XVECEXP (x1, 0, 2);
              if (GET_CODE (x3) != SET)
                return -1;
              x11 = XEXP (x2, 0);
              operands[0] = x11;
              x18 = XEXP (x5, 0);
              operands[1] = x18;
              x26 = XEXP (x5, 1);
              operands[4] = x26;
              x8 = XEXP (x7, 1);
              switch (GET_CODE (x8))
                {
                case MEM:
                  x22 = XEXP (x3, 1);
                  if (GET_CODE (x22) != MEM)
                    return -1;
                  x27 = XEXP (x22, 0);
                  if (GET_CODE (x27) != PLUS)
                    return -1;
                  x15 = XEXP (x7, 0);
                  operands[2] = x15;
                  x9 = XEXP (x3, 0);
                  operands[3] = x9;
                  x28 = XEXP (x27, 1);
                  operands[5] = x28;
                  x29 = XEXP (x8, 0);
                  if (!rtx_equal_p (x29, operands[1]))
                    return -1;
                  x30 = XEXP (x27, 0);
                  if (!rtx_equal_p (x30, operands[1]))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_SImode:
                      switch (pattern867 (x1, E_SImode))
                        {
                        case 0:
                          if (!(
#line 1826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SImode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 85; /* loadwb_pairsi_si */

                        case 1:
                          if (!(
#line 1826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DImode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 87; /* loadwb_pairdi_si */

                        case 2:
                          if (!(
#line 1841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SFmode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 89; /* loadwb_pairsf_si */

                        case 3:
                          if (!(
#line 1841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DFmode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 90; /* loadwb_pairdf_si */

                        case 4:
                          if (!(
#line 1856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TImode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 93; /* loadwb_pairti_si */

                        case 5:
                          if (!(
#line 1856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TFmode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 94; /* loadwb_pairtf_si */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      switch (pattern867 (x1, E_DImode))
                        {
                        case 0:
                          if (!(
#line 1826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SImode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 86; /* loadwb_pairsi_di */

                        case 1:
                          if (!(
#line 1826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DImode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 88; /* loadwb_pairdi_di */

                        case 2:
                          if (!(
#line 1841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SFmode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 91; /* loadwb_pairsf_di */

                        case 3:
                          if (!(
#line 1841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DFmode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 92; /* loadwb_pairdf_di */

                        case 4:
                          if (!(
#line 1856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TImode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 95; /* loadwb_pairti_di */

                        case 5:
                          if (!(
#line 1856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TFmode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 96; /* loadwb_pairtf_di */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case REG:
                case SUBREG:
                  operands[2] = x8;
                  x15 = XEXP (x7, 0);
                  if (GET_CODE (x15) != MEM)
                    return -1;
                  x16 = XEXP (x15, 0);
                  if (GET_CODE (x16) != PLUS)
                    return -1;
                  x9 = XEXP (x3, 0);
                  if (GET_CODE (x9) != MEM)
                    return -1;
                  x25 = XEXP (x9, 0);
                  if (GET_CODE (x25) != PLUS)
                    return -1;
                  x31 = XEXP (x25, 1);
                  operands[5] = x31;
                  x22 = XEXP (x3, 1);
                  operands[3] = x22;
                  x32 = XEXP (x16, 0);
                  if (!rtx_equal_p (x32, operands[0]))
                    return -1;
                  x33 = XEXP (x16, 1);
                  if (!rtx_equal_p (x33, operands[4]))
                    return -1;
                  x34 = XEXP (x25, 0);
                  if (!rtx_equal_p (x34, operands[0]))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_SImode:
                      switch (pattern902 (x1, E_SImode))
                        {
                        case 0:
                          if (!(
#line 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SImode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 97; /* storewb_pairsi_si */

                        case 1:
                          if (!(
#line 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DImode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 99; /* storewb_pairdi_si */

                        case 2:
                          if (!(
#line 1890 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SFmode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 101; /* storewb_pairsf_si */

                        case 3:
                          if (!(
#line 1890 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DFmode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 102; /* storewb_pairdf_si */

                        case 4:
                          if (!(
#line 1906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && INTVAL (operands[5])
      == INTVAL (operands[4]) + GET_MODE_SIZE (TImode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 105; /* storewb_pairti_si */

                        case 5:
                          if (!(
#line 1906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && INTVAL (operands[5])
      == INTVAL (operands[4]) + GET_MODE_SIZE (TFmode)) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 106; /* storewb_pairtf_si */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      switch (pattern902 (x1, E_DImode))
                        {
                        case 0:
                          if (!(
#line 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SImode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 98; /* storewb_pairsi_di */

                        case 1:
                          if (!(
#line 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DImode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 100; /* storewb_pairdi_di */

                        case 2:
                          if (!(
#line 1890 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SFmode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 103; /* storewb_pairsf_di */

                        case 3:
                          if (!(
#line 1890 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DFmode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 104; /* storewb_pairdf_di */

                        case 4:
                          if (!(
#line 1906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && INTVAL (operands[5])
      == INTVAL (operands[4]) + GET_MODE_SIZE (TImode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 107; /* storewb_pairti_di */

                        case 5:
                          if (!(
#line 1906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && INTVAL (operands[5])
      == INTVAL (operands[4]) + GET_MODE_SIZE (TFmode)) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 108; /* storewb_pairtf_di */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case UNSPEC:
              if (XVECLEN (x5, 0) != 2
                  || XINT (x5, 1) != 101
                  || GET_MODE (x5) != E_CCmode)
                return -1;
              x11 = XEXP (x2, 0);
              if (GET_CODE (x11) != REG
                  || REGNO (x11) != 66
                  || GET_MODE (x11) != E_CCmode)
                return -1;
              x7 = XVECEXP (x1, 0, 1);
              if (GET_CODE (x7) != CLOBBER)
                return -1;
              x3 = XVECEXP (x1, 0, 2);
              if (GET_CODE (x3) != CLOBBER)
                return -1;
              x14 = XVECEXP (x5, 0, 0);
              operands[0] = x14;
              x35 = XVECEXP (x5, 0, 1);
              operands[1] = x35;
              x15 = XEXP (x7, 0);
              operands[2] = x15;
              x9 = XEXP (x3, 0);
              operands[3] = x9;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern850 (E_SImode) != 0
                      || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
                    return -1;
                  return 1073; /* stack_protect_test_si */

                case E_DImode:
                  if (pattern850 (E_DImode) != 0
                      || !
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
                    return -1;
                  return 1074; /* stack_protect_test_di */

                default:
                  return -1;
                }

            case UNSPEC_VOLATILE:
              if (pnum_clobbers == NULL
                  || XVECLEN (x5, 0) != 1
                  || XINT (x5, 1) != 21
                  || GET_MODE (x5) != E_CCmode)
                return -1;
              x14 = XVECEXP (x5, 0, 0);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x11 = XEXP (x2, 0);
              if (GET_CODE (x11) != REG
                  || REGNO (x11) != 66
                  || GET_MODE (x11) != E_CCmode
                  || pattern278 (x1, 21, 5, UNSPEC_VOLATILE, SET) != 0)
                return -1;
              x7 = XVECEXP (x1, 0, 1);
              x15 = XEXP (x7, 0);
              operands[0] = x15;
              x3 = XVECEXP (x1, 0, 2);
              x22 = XEXP (x3, 1);
              x23 = XVECEXP (x22, 0, 0);
              operands[2] = x23;
              x24 = XVECEXP (x22, 0, 1);
              operands[3] = x24;
              x36 = XVECEXP (x22, 0, 2);
              operands[4] = x36;
              if (!const_int_operand (operands[4], E_SImode))
                return -1;
              x37 = XVECEXP (x22, 0, 3);
              operands[5] = x37;
              if (!const_int_operand (operands[5], E_SImode))
                return -1;
              x38 = XVECEXP (x22, 0, 4);
              operands[6] = x38;
              if (!const_int_operand (operands[6], E_SImode))
                return -1;
              switch (pattern356 (x1))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4328; /* aarch64_compare_and_swapqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4329; /* aarch64_compare_and_swaphi */

                case 2:
                  *pnum_clobbers = 1;
                  return 4330; /* aarch64_compare_and_swapsi */

                case 3:
                  *pnum_clobbers = 1;
                  return 4331; /* aarch64_compare_and_swapdi */

                case 4:
                  *pnum_clobbers = 1;
                  return 4332; /* aarch64_compare_and_swapti */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != SET)
        return -1;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case CONST_INT:
          if (XWINT (x5, 0) != 0L)
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != CLOBBER)
            return -1;
          x3 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x3) != CLOBBER)
            return -1;
          x4 = XVECEXP (x1, 0, 3);
          if (GET_CODE (x4) != SET)
            return -1;
          x39 = XEXP (x4, 1);
          if (GET_CODE (x39) != UNSPEC
              || XVECLEN (x39, 0) != 2)
            return -1;
          x40 = XVECEXP (x39, 0, 0);
          if (GET_CODE (x40) != MEM
              || GET_MODE (x40) != E_BLKmode)
            return -1;
          x6 = XEXP (x4, 0);
          if (GET_CODE (x6) != MEM
              || GET_MODE (x6) != E_BLKmode)
            return -1;
          x11 = XEXP (x2, 0);
          operands[2] = x11;
          if (!register_operand (operands[2], E_DImode))
            return -1;
          x15 = XEXP (x7, 0);
          operands[0] = x15;
          if (!register_operand (operands[0], E_DImode))
            return -1;
          x9 = XEXP (x3, 0);
          operands[1] = x9;
          if (!register_operand (operands[1], E_DImode)
              || GET_MODE (x39) != E_BLKmode)
            return -1;
          x41 = XEXP (x40, 0);
          if (!rtx_equal_p (x41, operands[1]))
            return -1;
          x42 = XVECEXP (x39, 0, 1);
          if (!rtx_equal_p (x42, operands[2]))
            return -1;
          x43 = XEXP (x6, 0);
          if (!rtx_equal_p (x43, operands[0]))
            return -1;
          switch (XINT (x39, 1))
            {
            case 6:
              if (!
#line 1604 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MOPS))
                return -1;
              return 64; /* *aarch64_cpymemdi */

            case 58:
              if (!
#line 1634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_MOPS))
                return -1;
              return 65; /* aarch64_movmemdi */

            default:
              return -1;
            }

        case CALL:
          x18 = XEXP (x5, 0);
          if (GET_CODE (x18) != MEM
              || GET_MODE (x18) != E_DImode)
            return -1;
          x26 = XEXP (x5, 1);
          if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (pattern176 (x7) != 0
              || pattern652 (x1) != 0)
            return -1;
          x4 = XVECEXP (x1, 0, 3);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x6 = XEXP (x4, 0);
          if (GET_CODE (x6) != REG
              || REGNO (x6) != 30
              || GET_MODE (x6) != E_DImode)
            return -1;
          x11 = XEXP (x2, 0);
          operands[0] = x11;
          switch (pattern865 (x1))
            {
            case 0:
              if (!
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
                return -1;
              return 1034; /* *tlsgd_small_si */

            case 1:
              if (!
#line 142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
                return -1;
              return 1035; /* *tlsgd_small_di */

            default:
              return -1;
            }

        case UNSPEC_VOLATILE:
          x4 = XVECEXP (x1, 0, 3);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x6 = XEXP (x4, 0);
          if (!scratch_operand (x6, E_SImode))
            return -1;
          switch (pattern362 (x1))
            {
            case 0:
              return 4328; /* aarch64_compare_and_swapqi */

            case 1:
              return 4329; /* aarch64_compare_and_swaphi */

            case 2:
              return 4330; /* aarch64_compare_and_swapsi */

            case 3:
              return 4331; /* aarch64_compare_and_swapdi */

            case 4:
              return 4332; /* aarch64_compare_and_swapti */

            case 5:
              return 4346; /* aarch64_atomic_addqi */

            case 6:
              return 4351; /* aarch64_atomic_addhi */

            case 7:
              return 4356; /* aarch64_atomic_addsi */

            case 8:
              return 4361; /* aarch64_atomic_adddi */

            case 9:
              return 4347; /* aarch64_atomic_subqi */

            case 10:
              return 4352; /* aarch64_atomic_subhi */

            case 11:
              return 4357; /* aarch64_atomic_subsi */

            case 12:
              return 4362; /* aarch64_atomic_subdi */

            case 13:
              return 4348; /* aarch64_atomic_orqi */

            case 14:
              return 4353; /* aarch64_atomic_orhi */

            case 15:
              return 4358; /* aarch64_atomic_orsi */

            case 16:
              return 4363; /* aarch64_atomic_ordi */

            case 17:
              return 4349; /* aarch64_atomic_xorqi */

            case 18:
              return 4354; /* aarch64_atomic_xorhi */

            case 19:
              return 4359; /* aarch64_atomic_xorsi */

            case 20:
              return 4364; /* aarch64_atomic_xordi */

            case 21:
              return 4350; /* aarch64_atomic_andqi */

            case 22:
              return 4355; /* aarch64_atomic_andhi */

            case 23:
              return 4360; /* aarch64_atomic_andsi */

            case 24:
              return 4365; /* aarch64_atomic_anddi */

            case 25:
              return 4382; /* atomic_nandqi */

            case 26:
              return 4383; /* atomic_nandhi */

            case 27:
              return 4384; /* atomic_nandsi */

            case 28:
              return 4385; /* atomic_nanddi */

            default:
              return -1;
            }

        case SUBREG:
        case MEM:
          operands[1] = x5;
          if (pattern37 (x1, 22, 2) != 0)
            return -1;
          x11 = XEXP (x2, 0);
          operands[0] = x11;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XEXP (x7, 1);
          x44 = XVECEXP (x8, 0, 0);
          operands[2] = x44;
          x12 = XVECEXP (x8, 0, 1);
          operands[3] = x12;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          x4 = XVECEXP (x1, 0, 3);
          x6 = XEXP (x4, 0);
          operands[4] = x6;
          if (!scratch_operand (operands[4], E_SImode))
            return -1;
          switch (pattern891 (x7))
            {
            case 0:
              return 4338; /* aarch64_atomic_exchangeqi */

            case 1:
              return 4339; /* aarch64_atomic_exchangehi */

            case 2:
              return 4340; /* aarch64_atomic_exchangesi */

            case 3:
              return 4341; /* aarch64_atomic_exchangedi */

            default:
              return -1;
            }

        case PLUS:
          switch (pattern180 (x1))
            {
            case 0:
              return 4426; /* aarch64_atomic_add_fetchqi */

            case 1:
              return 4431; /* aarch64_atomic_add_fetchhi */

            case 2:
              return 4436; /* aarch64_atomic_add_fetchsi */

            case 3:
              return 4441; /* aarch64_atomic_add_fetchdi */

            default:
              return -1;
            }

        case MINUS:
          switch (pattern180 (x1))
            {
            case 0:
              return 4427; /* aarch64_atomic_sub_fetchqi */

            case 1:
              return 4432; /* aarch64_atomic_sub_fetchhi */

            case 2:
              return 4437; /* aarch64_atomic_sub_fetchsi */

            case 3:
              return 4442; /* aarch64_atomic_sub_fetchdi */

            default:
              return -1;
            }

        case IOR:
          switch (pattern181 (x1))
            {
            case 0:
              return 4428; /* aarch64_atomic_or_fetchqi */

            case 1:
              return 4433; /* aarch64_atomic_or_fetchhi */

            case 2:
              return 4438; /* aarch64_atomic_or_fetchsi */

            case 3:
              return 4443; /* aarch64_atomic_or_fetchdi */

            default:
              return -1;
            }

        case XOR:
          switch (pattern181 (x1))
            {
            case 0:
              return 4429; /* aarch64_atomic_xor_fetchqi */

            case 1:
              return 4434; /* aarch64_atomic_xor_fetchhi */

            case 2:
              return 4439; /* aarch64_atomic_xor_fetchsi */

            case 3:
              return 4444; /* aarch64_atomic_xor_fetchdi */

            default:
              return -1;
            }

        case AND:
          switch (pattern181 (x1))
            {
            case 0:
              return 4430; /* aarch64_atomic_and_fetchqi */

            case 1:
              return 4435; /* aarch64_atomic_and_fetchhi */

            case 2:
              return 4440; /* aarch64_atomic_and_fetchsi */

            case 3:
              return 4445; /* aarch64_atomic_and_fetchdi */

            default:
              return -1;
            }

        case NOT:
          x18 = XEXP (x5, 0);
          if (GET_CODE (x18) != AND
              || pattern37 (x1, 25, 3) != 0)
            return -1;
          x11 = XEXP (x2, 0);
          operands[0] = x11;
          x19 = XEXP (x18, 0);
          operands[1] = x19;
          x45 = XEXP (x18, 1);
          operands[2] = x45;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XEXP (x7, 1);
          x46 = XVECEXP (x8, 0, 2);
          operands[3] = x46;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          x4 = XVECEXP (x1, 0, 3);
          x6 = XEXP (x4, 0);
          operands[4] = x6;
          if (!scratch_operand (operands[4], E_SImode))
            return -1;
          switch (pattern808 (x1))
            {
            case 0:
              return 4446; /* atomic_nand_fetchqi */

            case 1:
              return 4447; /* atomic_nand_fetchhi */

            case 2:
              return 4448; /* atomic_nand_fetchsi */

            case 3:
              return 4449; /* atomic_nand_fetchdi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_519 (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 (GET_CODE (x2))
    {
    case IF_THEN_ELSE:
      return recog_446 (x1, insn, pnum_clobbers);

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_POLY_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_415 (x1, insn, pnum_clobbers);

    case IOR:
      return recog_421 (x1, insn, pnum_clobbers);

    case SIGN_EXTEND:
      return recog_430 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_409 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_413 (x1, insn, pnum_clobbers);

    case COMPARE:
      return recog_422 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_423 (x1, insn, pnum_clobbers);

    case NEG:
      return recog_425 (x1, insn, pnum_clobbers);

    case MULT:
      return recog_410 (x1, insn, pnum_clobbers);

    case TRUNCATE:
      return recog_431 (x1, insn, pnum_clobbers);

    case DIV:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern13 (x2, E_SImode) != 0)
            return -1;
          return 400; /* divsi3 */

        case E_DImode:
          if (pattern13 (x2, E_DImode) != 0)
            return -1;
          return 402; /* divdi3 */

        case E_HFmode:
          if (pattern13 (x2, E_HFmode) != 0
              || !(
#line 6565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 986; /* *divhf3 */

        case E_SFmode:
          if (pattern13 (x2, E_SFmode) != 0
              || !
#line 6565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 987; /* *divsf3 */

        case E_DFmode:
          if (pattern13 (x2, E_DFmode) != 0
              || !
#line 6565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 988; /* *divdf3 */

        case E_V4HFmode:
          if (pattern13 (x2, E_V4HFmode) != 0
              || !(
#line 2703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2128; /* *divv4hf3 */

        case E_V8HFmode:
          if (pattern13 (x2, E_V8HFmode) != 0
              || !(
#line 2703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2129; /* *divv8hf3 */

        case E_V2SFmode:
          if (pattern13 (x2, E_V2SFmode) != 0
              || !
#line 2703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2130; /* *divv2sf3 */

        case E_V4SFmode:
          if (pattern13 (x2, E_V4SFmode) != 0
              || !
#line 2703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2131; /* *divv4sf3 */

        case E_V2DFmode:
          if (pattern13 (x2, E_V2DFmode) != 0
              || !
#line 2703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2132; /* *divv2df3 */

        default:
          return -1;
        }

    case UDIV:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern13 (x2, E_SImode) != 0)
            return -1;
          return 401; /* udivsi3 */

        case E_DImode:
          if (pattern13 (x2, E_DImode) != 0)
            return -1;
          return 403; /* udivdi3 */

        default:
          return -1;
        }

    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 UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
      return recog_444 (x1, insn, pnum_clobbers);

    case UNSPEC:
      return recog_414 (x1, insn, pnum_clobbers);

    case AND:
      return recog_412 (x1, insn, pnum_clobbers);

    case XOR:
      return recog_411 (x1, insn, pnum_clobbers);

    case NOT:
      return recog_432 (x1, insn, pnum_clobbers);

    case CLZ:
      switch (pattern0 (x1))
        {
        case 0:
          return 650; /* clzsi2 */

        case 1:
          return 651; /* clzdi2 */

        case 2:
          if (!
#line 3479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2416; /* clzv8qi2 */

        case 3:
          if (!
#line 3479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2417; /* clzv16qi2 */

        case 4:
          if (!
#line 3479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2418; /* clzv4hi2 */

        case 5:
          if (!
#line 3479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2419; /* clzv8hi2 */

        case 6:
          if (!
#line 3479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2420; /* clzv2si2 */

        case 7:
          if (!
#line 3479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2421; /* clzv4si2 */

        default:
          return -1;
        }

    case CLRSB:
      switch (pattern0 (x1))
        {
        case 0:
          return 652; /* clrsbsi2 */

        case 1:
          return 653; /* clrsbdi2 */

        case 2:
          if (!
#line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2410; /* clrsbv8qi2 */

        case 3:
          if (!
#line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2411; /* clrsbv16qi2 */

        case 4:
          if (!
#line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2412; /* clrsbv4hi2 */

        case 5:
          if (!
#line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2413; /* clrsbv8hi2 */

        case 6:
          if (!
#line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2414; /* clrsbv2si2 */

        case 7:
          if (!
#line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2415; /* clrsbv4si2 */

        default:
          return -1;
        }

    case CTZ:
      switch (pattern2 (x1))
        {
        case 0:
          return 656; /* ctzsi2 */

        case 1:
          return 657; /* ctzdi2 */

        default:
          return -1;
        }

    case ASHIFT:
      return recog_434 (x1, insn, pnum_clobbers);

    case ASHIFTRT:
      return recog_437 (x1, insn, pnum_clobbers);

    case LSHIFTRT:
      return recog_438 (x1, insn, pnum_clobbers);

    case ROTATERT:
      return recog_445 (x1, insn, pnum_clobbers);

    case ROTATE:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      if (!const_int_operand (operands[2], E_VOIDmode))
        return -1;
      switch (pattern1 (x2))
        {
        case 0:
          if (!
#line 5569 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)))
            return -1;
          return 734; /* *rorsi3_insn */

        case 1:
          if (!
#line 5569 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)))
            return -1;
          return 735; /* *rordi3_insn */

        default:
          return -1;
        }

    case SIGN_EXTRACT:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      x6 = XEXP (x2, 2);
      operands[3] = x6;
      switch (pattern338 (x2))
        {
        case 0:
          if (!
#line 5656 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
            return -1;
          return 753; /* *extvsi */

        case 1:
          if (!
#line 5656 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (DImode) - 1)))
            return -1;
          return 755; /* *extvdi */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      x5 = XEXP (x2, 1);
      if (GET_CODE (x5) != CONST_INT)
        return -1;
      x6 = XEXP (x2, 2);
      operands[3] = x6;
      res = recog_400 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      if (XWINT (x5, 0) != 64L
          || GET_CODE (x6) != CONST_INT)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x2) != E_DImode)
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (XWINT (x6, 0))
        {
        case 0L:
          switch (GET_MODE (operands[1]))
            {
            case E_TImode:
              if (!register_operand (operands[1], E_TImode)
                  || !
#line 6789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1016; /* aarch64_movdi_tilow */

            case E_TFmode:
              if (!register_operand (operands[1], E_TFmode)
                  || !
#line 6789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1017; /* aarch64_movdi_tflow */

            default:
              return -1;
            }

        case 64L:
          switch (GET_MODE (operands[1]))
            {
            case E_TImode:
              if (!register_operand (operands[1], E_TImode)
                  || !
#line 6799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1018; /* aarch64_movdi_tihigh */

            case E_TFmode:
              if (!register_operand (operands[1], E_TFmode)
                  || !
#line 6799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1019; /* aarch64_movdi_tfhigh */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case BSWAP:
      return recog_441 (x1, insn, pnum_clobbers);

    case FIX:
      return recog_428 (x1, insn, pnum_clobbers);

    case UNSIGNED_FIX:
      return recog_427 (x1, insn, pnum_clobbers);

    case FMA:
      return recog_416 (x1, insn, pnum_clobbers);

    case FLOAT_EXTEND:
      return recog_436 (x1, insn, pnum_clobbers);

    case FLOAT_TRUNCATE:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_SFmode:
          if (!register_operand (operands[0], E_SFmode)
              || GET_MODE (x2) != E_SFmode
              || !register_operand (operands[1], E_DFmode)
              || !
#line 6241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 916; /* truncdfsf2 */

        case E_HFmode:
          if (!register_operand (operands[0], E_HFmode)
              || GET_MODE (x2) != E_HFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case E_SFmode:
              if (!register_operand (operands[1], E_SFmode)
                  || !
#line 6249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 917; /* truncsfhf2 */

            case E_DFmode:
              if (!register_operand (operands[1], E_DFmode)
                  || !
#line 6257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 918; /* truncdfhf2 */

            default:
              return -1;
            }

        case E_V2SFmode:
          if (!register_operand (operands[0], E_V2SFmode)
              || GET_MODE (x2) != E_V2SFmode
              || !register_operand (operands[1], E_V2DFmode)
              || !
#line 3273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2328; /* aarch64_float_truncate_lo_v2sf */

        case E_V4HFmode:
          if (!register_operand (operands[0], E_V4HFmode)
              || GET_MODE (x2) != E_V4HFmode
              || !register_operand (operands[1], E_V4SFmode)
              || !
#line 3273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2329; /* aarch64_float_truncate_lo_v4hf */

        default:
          return -1;
        }

    case FLOAT:
      switch (pattern12 (x1))
        {
        case 0:
          if (!
#line 6348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 941; /* floatsisf2 */

        case 1:
          if (!
#line 6360 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 945; /* floatdisf2 */

        case 2:
          if (!
#line 6348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 943; /* floatdidf2 */

        case 3:
          if (!
#line 6360 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 947; /* floatsidf2 */

        case 4:
          if (!
#line 6375 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 949; /* aarch64_fp16_floatsihf2 */

        case 5:
          if (!
#line 6375 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 951; /* aarch64_fp16_floatdihf2 */

        case 6:
          if (!
#line 3063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
            return -1;
          return 2280; /* floathihf2 */

        case 7:
          if (!(
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2288; /* floatv4hiv4hf2 */

        case 8:
          if (!(
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2290; /* floatv8hiv8hf2 */

        case 9:
          if (!
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2292; /* floatv2siv2sf2 */

        case 10:
          if (!
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2294; /* floatv4siv4sf2 */

        case 11:
          if (!
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2296; /* floatv2div2df2 */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      switch (pattern12 (x1))
        {
        case 0:
          if (!
#line 6348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 942; /* floatunssisf2 */

        case 1:
          if (!
#line 6360 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 946; /* floatunsdisf2 */

        case 2:
          if (!
#line 6348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 944; /* floatunsdidf2 */

        case 3:
          if (!
#line 6360 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 948; /* floatunssidf2 */

        case 4:
          if (!
#line 6375 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 950; /* aarch64_fp16_floatunssihf2 */

        case 5:
          if (!
#line 6375 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 952; /* aarch64_fp16_floatunsdihf2 */

        case 6:
          if (!
#line 3063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
            return -1;
          return 2281; /* floatunshihf2 */

        case 7:
          if (!(
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 150 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2289; /* floatunsv4hiv4hf2 */

        case 8:
          if (!(
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2291; /* floatunsv8hiv8hf2 */

        case 9:
          if (!
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2293; /* floatunsv2siv2sf2 */

        case 10:
          if (!
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2295; /* floatunsv4siv4sf2 */

        case 11:
          if (!
#line 3115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2297; /* floatunsv2div2df2 */

        default:
          return -1;
        }

    case SQRT:
      return recog_435 (x1, insn, pnum_clobbers);

    case ABS:
      return recog_426 (x1, insn, pnum_clobbers);

    case SMAX:
      return recog_443 (x1, insn, pnum_clobbers);

    case SMIN:
      return recog_442 (x1, insn, pnum_clobbers);

    case LO_SUM:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      if (!aarch64_valid_symref (operands[2], E_VOIDmode))
        return -1;
      switch (pattern1 (x2))
        {
        case 0:
          if (!
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1025; /* add_losym_si */

        case 1:
          if (!
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1026; /* add_losym_di */

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      return recog_418 (x1, insn, pnum_clobbers);

    case VEC_DUPLICATE:
      return recog_417 (x1, insn, pnum_clobbers);

    case VEC_SELECT:
      return recog_433 (x1, insn, pnum_clobbers);

    case VEC_MERGE:
      return recog_424 (x1, insn, pnum_clobbers);

    case UMAX:
      switch (pattern17 (x1))
        {
        case 0:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1840; /* umaxv8qi3 */

        case 1:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1844; /* umaxv16qi3 */

        case 2:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1848; /* umaxv4hi3 */

        case 3:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1852; /* umaxv8hi3 */

        case 4:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1856; /* umaxv2si3 */

        case 5:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1860; /* umaxv4si3 */

        case 6:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5815; /* *post_ra_umaxvnx16qi3 */

        case 7:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5820; /* *post_ra_umaxvnx8qi3 */

        case 8:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5825; /* *post_ra_umaxvnx4qi3 */

        case 9:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5830; /* *post_ra_umaxvnx2qi3 */

        case 10:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5835; /* *post_ra_umaxvnx8hi3 */

        case 11:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5840; /* *post_ra_umaxvnx4hi3 */

        case 12:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5845; /* *post_ra_umaxvnx2hi3 */

        case 13:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5850; /* *post_ra_umaxvnx4si3 */

        case 14:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5855; /* *post_ra_umaxvnx2si3 */

        case 15:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5860; /* *post_ra_umaxvnx2di3 */

        default:
          return -1;
        }

    case UMIN:
      switch (pattern17 (x1))
        {
        case 0:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1841; /* uminv8qi3 */

        case 1:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1845; /* uminv16qi3 */

        case 2:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1849; /* uminv4hi3 */

        case 3:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1853; /* uminv8hi3 */

        case 4:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1857; /* uminv2si3 */

        case 5:
          if (!
#line 1516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1861; /* uminv4si3 */

        case 6:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5816; /* *post_ra_uminvnx16qi3 */

        case 7:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5821; /* *post_ra_uminvnx8qi3 */

        case 8:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5826; /* *post_ra_uminvnx4qi3 */

        case 9:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5831; /* *post_ra_uminvnx2qi3 */

        case 10:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5836; /* *post_ra_uminvnx8hi3 */

        case 11:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5841; /* *post_ra_uminvnx4hi3 */

        case 12:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5846; /* *post_ra_uminvnx2hi3 */

        case 13:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5851; /* *post_ra_uminvnx4si3 */

        case 14:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5856; /* *post_ra_uminvnx2si3 */

        case 15:
          if (!
#line 3681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5861; /* *post_ra_uminvnx2di3 */

        default:
          return -1;
        }

    case VEC_CONCAT:
      return recog_408 (x1, insn, pnum_clobbers);

    case POPCOUNT:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (!register_operand (operands[0], E_V8QImode)
              || GET_MODE (x2) != E_V8QImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 3487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2422; /* popcountv8qi2 */

        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x2) != E_V16QImode
              || !register_operand (operands[1], E_V16QImode)
              || !
#line 3487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2423; /* popcountv16qi2 */

        default:
          return -1;
        }

    case SS_PLUS:
      return recog_419 (x1, insn, pnum_clobbers);

    case US_PLUS:
      return recog_440 (x1, insn, pnum_clobbers);

    case SS_MINUS:
      return recog_420 (x1, insn, pnum_clobbers);

    case US_MINUS:
      return recog_439 (x1, insn, pnum_clobbers);

    case SS_TRUNCATE:
      switch (pattern18 (x1))
        {
        case 0:
          if (!
#line 4997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2821; /* aarch64_sqmovnhi */

        case 1:
          if (!
#line 4997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2823; /* aarch64_sqmovnsi */

        case 2:
          if (!
#line 4997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2825; /* aarch64_sqmovndi */

        default:
          return -1;
        }

    case US_TRUNCATE:
      switch (pattern18 (x1))
        {
        case 0:
          if (!
#line 4997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2822; /* aarch64_uqmovnhi */

        case 1:
          if (!
#line 4997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2824; /* aarch64_uqmovnsi */

        case 2:
          if (!
#line 4997 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2826; /* aarch64_uqmovndi */

        default:
          return -1;
        }

    case SS_NEG:
      switch (pattern19 (x1))
        {
        case 0:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2866; /* aarch64_sqnegv8qi */

        case 1:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2868; /* aarch64_sqnegv16qi */

        case 2:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2870; /* aarch64_sqnegv4hi */

        case 3:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2872; /* aarch64_sqnegv8hi */

        case 4:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2874; /* aarch64_sqnegv2si */

        case 5:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2876; /* aarch64_sqnegv4si */

        case 6:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2878; /* aarch64_sqnegv2di */

        case 7:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2880; /* aarch64_sqnegqi */

        case 8:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2882; /* aarch64_sqneghi */

        case 9:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2884; /* aarch64_sqnegsi */

        case 10:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2886; /* aarch64_sqnegdi */

        default:
          return -1;
        }

    case SS_ABS:
      switch (pattern19 (x1))
        {
        case 0:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2867; /* aarch64_sqabsv8qi */

        case 1:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2869; /* aarch64_sqabsv16qi */

        case 2:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2871; /* aarch64_sqabsv4hi */

        case 3:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2873; /* aarch64_sqabsv8hi */

        case 4:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2875; /* aarch64_sqabsv2si */

        case 5:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2877; /* aarch64_sqabsv4si */

        case 6:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2879; /* aarch64_sqabsv2di */

        case 7:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2881; /* aarch64_sqabsqi */

        case 8:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2883; /* aarch64_sqabshi */

        case 9:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2885; /* aarch64_sqabssi */

        case 10:
          if (!
#line 5185 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2887; /* aarch64_sqabsdi */

        default:
          return -1;
        }

    case SS_ASHIFT:
      return recog_429 (x1, insn, pnum_clobbers);

    case VEC_SERIES:
      return recog_447 (x1, insn, pnum_clobbers);

    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, x17;
  rtx x18;
  int res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  switch (GET_CODE (x1))
    {
    case SET:
      return recog_519 (x1, insn, pnum_clobbers);

    case PARALLEL:
      return recog_518 (x1, insn, pnum_clobbers);

    case UNSPEC:
      if (XVECLEN (x1, 0) != 1
          || XINT (x1, 1) != 59)
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      return 25; /* nop */

    case PREFETCH:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (aarch64_prefetch_operand (operands[0], E_DImode))
        {
          x4 = XEXP (x1, 1);
          operands[1] = x4;
          if (const_int_operand (operands[1], E_QImode))
            {
              x5 = XEXP (x1, 2);
              operands[2] = x5;
              if (const_int_operand (operands[2], E_QImode))
                return 26; /* prefetch */
            }
        }
      if (GET_CODE (x3) != UNSPEC
          || GET_MODE (x3) != E_DImode)
        return -1;
      x4 = XEXP (x1, 1);
      if (!const_int_operand (x4, E_DImode))
        return -1;
      x5 = XEXP (x1, 2);
      if (!const_int_operand (x5, E_DImode))
        return -1;
      switch (XVECLEN (x3, 0))
        {
        case 3:
          if (XINT (x3, 1) != 155)
            return -1;
          x6 = XVECEXP (x3, 0, 0);
          operands[0] = x6;
          x7 = XVECEXP (x3, 0, 1);
          operands[1] = x7;
          x8 = XVECEXP (x3, 0, 2);
          operands[2] = x8;
          if (!const_int_operand (operands[2], E_DImode))
            return -1;
          operands[3] = x4;
          operands[4] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16BImode:
              if (!register_operand (operands[0], E_VNx16BImode)
                  || !aarch64_sve_prefetch_operand (operands[1], E_VNx16QImode)
                  || !
#line 1948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4935; /* aarch64_sve_prefetchvnx16qi */

            case E_VNx8BImode:
              if (!register_operand (operands[0], E_VNx8BImode)
                  || !aarch64_sve_prefetch_operand (operands[1], E_VNx8HImode)
                  || !
#line 1948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4936; /* aarch64_sve_prefetchvnx8hi */

            case E_VNx4BImode:
              if (!register_operand (operands[0], E_VNx4BImode)
                  || !aarch64_sve_prefetch_operand (operands[1], E_VNx4SImode)
                  || !
#line 1948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4937; /* aarch64_sve_prefetchvnx4si */

            case E_VNx2BImode:
              if (!register_operand (operands[0], E_VNx2BImode)
                  || !aarch64_sve_prefetch_operand (operands[1], E_VNx2DImode)
                  || !
#line 1948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4938; /* aarch64_sve_prefetchvnx2di */

            default:
              return -1;
            }

        case 7:
          if (XINT (x3, 1) != 156)
            return -1;
          x6 = XVECEXP (x3, 0, 0);
          operands[0] = x6;
          x7 = XVECEXP (x3, 0, 1);
          operands[1] = x7;
          x9 = XVECEXP (x3, 0, 3);
          operands[3] = x9;
          if (!const_int_operand (operands[3], E_DImode))
            return -1;
          x10 = XVECEXP (x3, 0, 4);
          operands[4] = x10;
          x11 = XVECEXP (x3, 0, 5);
          operands[5] = x11;
          x12 = XVECEXP (x3, 0, 6);
          operands[6] = x12;
          if (!const_int_operand (operands[6], E_DImode))
            return -1;
          operands[7] = x4;
          operands[8] = x5;
          x8 = XVECEXP (x3, 0, 2);
          switch (GET_CODE (x8))
            {
            case REG:
            case SUBREG:
              operands[2] = x8;
              switch (GET_MODE (operands[0]))
                {
                case E_VNx4BImode:
                  if (!register_operand (operands[0], E_VNx4BImode)
                      || !register_operand (operands[2], E_VNx4SImode))
                    return -1;
                  if (aarch64_sve_gather_offset_b (operands[1], E_DImode)
                      && aarch64_gather_scale_operand_b (operands[4], E_DImode)
                      && aarch64_simd_imm_zero (operands[5], E_VNx16QImode)
                      && 
#line 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 4939; /* aarch64_sve_gather_prefetchvnx16qivnx4si */
                  if (aarch64_sve_gather_offset_h (operands[1], E_DImode)
                      && aarch64_gather_scale_operand_h (operands[4], E_DImode)
                      && aarch64_simd_imm_zero (operands[5], E_VNx8HImode)
                      && 
#line 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 4940; /* aarch64_sve_gather_prefetchvnx8hivnx4si */
                  if (aarch64_sve_gather_offset_w (operands[1], E_DImode)
                      && aarch64_gather_scale_operand_w (operands[4], E_DImode)
                      && aarch64_simd_imm_zero (operands[5], E_VNx4SImode)
                      && 
#line 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 4941; /* aarch64_sve_gather_prefetchvnx4sivnx4si */
                  if (!aarch64_sve_gather_offset_d (operands[1], E_DImode)
                      || !aarch64_gather_scale_operand_d (operands[4], E_DImode)
                      || !aarch64_simd_imm_zero (operands[5], E_VNx2DImode)
                      || !
#line 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4942; /* aarch64_sve_gather_prefetchvnx2divnx4si */

                case E_VNx2BImode:
                  if (!register_operand (operands[0], E_VNx2BImode)
                      || !register_operand (operands[2], E_VNx2DImode))
                    return -1;
                  if (aarch64_sve_gather_offset_b (operands[1], E_DImode)
                      && aarch64_gather_scale_operand_b (operands[4], E_DImode)
                      && aarch64_simd_imm_zero (operands[5], E_VNx16QImode)
                      && 
#line 2017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 4943; /* aarch64_sve_gather_prefetchvnx16qivnx2di */
                  if (aarch64_sve_gather_offset_h (operands[1], E_DImode)
                      && aarch64_gather_scale_operand_h (operands[4], E_DImode)
                      && aarch64_simd_imm_zero (operands[5], E_VNx8HImode)
                      && 
#line 2017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 4944; /* aarch64_sve_gather_prefetchvnx8hivnx2di */
                  if (aarch64_sve_gather_offset_w (operands[1], E_DImode)
                      && aarch64_gather_scale_operand_w (operands[4], E_DImode)
                      && aarch64_simd_imm_zero (operands[5], E_VNx4SImode)
                      && 
#line 2017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 4945; /* aarch64_sve_gather_prefetchvnx4sivnx2di */
                  if (!aarch64_sve_gather_offset_d (operands[1], E_DImode)
                      || !aarch64_gather_scale_operand_d (operands[4], E_DImode)
                      || !aarch64_simd_imm_zero (operands[5], E_VNx2DImode)
                      || !
#line 2017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4946; /* aarch64_sve_gather_prefetchvnx2divnx2di */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pattern365 (x8) != 0
                  || !register_operand (operands[0], E_VNx2BImode)
                  || !register_operand (operands[1], E_DImode))
                return -1;
              x13 = XVECEXP (x8, 0, 0);
              operands[9] = x13;
              x14 = XVECEXP (x8, 0, 1);
              x15 = XEXP (x14, 0);
              x16 = XEXP (x15, 0);
              operands[2] = x16;
              if (!register_operand (operands[2], E_VNx2DImode))
                return -1;
              if (aarch64_gather_scale_operand_b (operands[4], E_DImode)
                  && aarch64_simd_imm_zero (operands[5], E_VNx16QImode)
                  && 
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 4947; /* *aarch64_sve_gather_prefetchvnx16qivnx2di_sxtw */
              if (aarch64_gather_scale_operand_h (operands[4], E_DImode)
                  && aarch64_simd_imm_zero (operands[5], E_VNx8HImode)
                  && 
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 4948; /* *aarch64_sve_gather_prefetchvnx8hivnx2di_sxtw */
              if (aarch64_gather_scale_operand_w (operands[4], E_DImode)
                  && aarch64_simd_imm_zero (operands[5], E_VNx4SImode)
                  && 
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 4949; /* *aarch64_sve_gather_prefetchvnx4sivnx2di_sxtw */
              if (!aarch64_gather_scale_operand_d (operands[4], E_DImode)
                  || !aarch64_simd_imm_zero (operands[5], E_VNx2DImode)
                  || !
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4950; /* *aarch64_sve_gather_prefetchvnx2divnx2di_sxtw */

            case AND:
              if (GET_MODE (x8) != E_VNx2DImode
                  || !register_operand (operands[0], E_VNx2BImode)
                  || !register_operand (operands[1], E_DImode))
                return -1;
              x17 = XEXP (x8, 0);
              operands[2] = x17;
              if (!register_operand (operands[2], E_VNx2DImode))
                return -1;
              x18 = XEXP (x8, 1);
              operands[9] = x18;
              if (!aarch64_sve_uxtw_immediate (operands[9], E_VNx2DImode))
                return -1;
              if (aarch64_gather_scale_operand_b (operands[4], E_DImode)
                  && aarch64_simd_imm_zero (operands[5], E_VNx16QImode)
                  && 
#line 2078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 4951; /* *aarch64_sve_gather_prefetchvnx16qivnx2di_uxtw */
              if (aarch64_gather_scale_operand_h (operands[4], E_DImode)
                  && aarch64_simd_imm_zero (operands[5], E_VNx8HImode)
                  && 
#line 2078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 4952; /* *aarch64_sve_gather_prefetchvnx8hivnx2di_uxtw */
              if (aarch64_gather_scale_operand_w (operands[4], E_DImode)
                  && aarch64_simd_imm_zero (operands[5], E_VNx4SImode)
                  && 
#line 2078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 4953; /* *aarch64_sve_gather_prefetchvnx4sivnx2di_uxtw */
              if (!aarch64_gather_scale_operand_d (operands[4], E_DImode)
                  || !aarch64_simd_imm_zero (operands[5], E_VNx2DImode)
                  || !
#line 2078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 4954; /* *aarch64_sve_gather_prefetchvnx2divnx2di_uxtw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case TRAP_IF:
      x3 = XEXP (x1, 0);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x4 = XEXP (x1, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      return 27; /* trap */

    case RETURN:
      return 28; /* *do_return */

    case SIMPLE_RETURN:
      return 29; /* simple_return */

    case UNSPEC_VOLATILE:
      if (XVECLEN (x1, 0) != 1)
        return -1;
      switch (XINT (x1, 1))
        {
        case 5:
          x2 = XVECEXP (x1, 0, 0);
          if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          return 1065; /* blockage */

        case 4:
          x2 = XVECEXP (x1, 0, 0);
          operands[0] = x2;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (!register_operand (operands[0], E_SImode))
                return -1;
              return 1075; /* aarch64_set_fpsrsi */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode))
                return -1;
              return 1077; /* aarch64_set_fpsrdi */

            default:
              return -1;
            }

        case 2:
          x2 = XVECEXP (x1, 0, 0);
          operands[0] = x2;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (!register_operand (operands[0], E_SImode))
                return -1;
              return 1076; /* aarch64_set_fpcrsi */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode))
                return -1;
              return 1078; /* aarch64_set_fpcrdi */

            default:
              return -1;
            }

        case 8:
          x2 = XVECEXP (x1, 0, 0);
          if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          return 1085; /* bti_noarg */

        case 9:
          x2 = XVECEXP (x1, 0, 0);
          if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          return 1086; /* bti_c */

        case 10:
          x2 = XVECEXP (x1, 0, 0);
          if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          return 1087; /* bti_j */

        case 11:
          x2 = XVECEXP (x1, 0, 0);
          if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          return 1088; /* bti_jc */

        case 7:
          x2 = XVECEXP (x1, 0, 0);
          if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          return 1089; /* speculation_barrier */

        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_insn *res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (!nonimmediate_operand (operands[0], E_SImode)
          || !aarch64_mov_operand (operands[1], E_SImode)
          || !
#line 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(CONST_INT_P (operands[1]) && !aarch64_move_imm (INTVAL (operands[1]), SImode)
    && REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0]))))
        return NULL;
      return gen_split_9 (insn, operands);

    case E_DImode:
      if (!nonimmediate_operand (operands[0], E_DImode)
          || !aarch64_mov_operand (operands[1], E_DImode)
          || !
#line 1335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(CONST_INT_P (operands[1]) && !aarch64_move_imm (INTVAL (operands[1]), DImode)
    && REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0]))))
        return NULL;
      return gen_split_10 (insn, operands);

    case E_TImode:
      if (!register_operand (operands[0], E_TImode)
          || !aarch64_reg_or_imm (operands[1], E_TImode)
          || !
#line 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(reload_completed && aarch64_split_128bit_move_p (operands[0], operands[1])))
        return NULL;
      return gen_split_11 (insn, operands);

    case E_HFmode:
      if (!nonimmediate_operand (operands[0], E_HFmode)
          || !general_operand (operands[1], E_HFmode)
          || !
#line 1531 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && !aarch64_can_const_movi_rtx_p (operands[1], HFmode)
   && !aarch64_float_const_representable_p (operands[1])
   &&  aarch64_float_const_rtx_p (operands[1])))
        return NULL;
      return gen_split_12 (insn, operands);

    case E_SFmode:
      if (!nonimmediate_operand (operands[0], E_SFmode)
          || !general_operand (operands[1], E_SFmode)
          || !
#line 1531 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && !aarch64_can_const_movi_rtx_p (operands[1], SFmode)
   && !aarch64_float_const_representable_p (operands[1])
   &&  aarch64_float_const_rtx_p (operands[1])))
        return NULL;
      return gen_split_13 (insn, operands);

    case E_DFmode:
      if (!nonimmediate_operand (operands[0], E_DFmode)
          || !general_operand (operands[1], E_DFmode)
          || !
#line 1531 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && !aarch64_can_const_movi_rtx_p (operands[1], DFmode)
   && !aarch64_float_const_representable_p (operands[1])
   &&  aarch64_float_const_rtx_p (operands[1])))
        return NULL;
      return gen_split_14 (insn, operands);

    case E_TFmode:
      if (!register_operand (operands[0], E_TFmode)
          || !nonmemory_operand (operands[1], E_TFmode)
          || !
#line 1576 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(reload_completed && aarch64_split_128bit_move_p (operands[0], operands[1])))
        return NULL;
      return gen_split_15 (insn, operands);

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || !register_operand (operands[1], E_V16QImode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_93 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_101 (insn, operands);

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || !register_operand (operands[1], E_V8HImode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_94 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_102 (insn, operands);

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || !register_operand (operands[1], E_V4SImode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_95 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_103 (insn, operands);

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || !register_operand (operands[1], E_V2DImode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_96 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_104 (insn, operands);

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || !register_operand (operands[1], E_V8HFmode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_97 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_105 (insn, operands);

    case E_V8BFmode:
      if (!register_operand (operands[0], E_V8BFmode)
          || !register_operand (operands[1], E_V8BFmode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_98 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_106 (insn, operands);

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || !register_operand (operands[1], E_V4SFmode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_99 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_107 (insn, operands);

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || !register_operand (operands[1], E_V2DFmode))
        return NULL;
      if (
#line 252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_100 (insn, operands);
      if (!
#line 264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed
   && ((FP_REGNUM_P (REGNO (operands[0])) && GP_REGNUM_P (REGNO (operands[1])))
       || (GP_REGNUM_P (REGNO (operands[0])) && FP_REGNUM_P (REGNO (operands[1]))))))
        return NULL;
      return gen_split_108 (insn, operands);

    case E_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode)
          || !register_operand (operands[1], E_V2x8QImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_189 (insn, operands);

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode)
          || !register_operand (operands[1], E_V2x4HImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_190 (insn, operands);

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode)
          || !register_operand (operands[1], E_V2x2SImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_191 (insn, operands);

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode)
          || !register_operand (operands[1], E_V2x1DImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_192 (insn, operands);

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode)
          || !register_operand (operands[1], E_V2x4HFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_193 (insn, operands);

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode)
          || !register_operand (operands[1], E_V2x2SFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_194 (insn, operands);

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode)
          || !register_operand (operands[1], E_V2x1DFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_195 (insn, operands);

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode)
          || !register_operand (operands[1], E_V2x4BFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_196 (insn, operands);

    case E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode)
          || !register_operand (operands[1], E_V2x16QImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_197 (insn, operands);

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode)
          || !register_operand (operands[1], E_V2x8HImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_198 (insn, operands);

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode)
          || !register_operand (operands[1], E_V2x4SImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_199 (insn, operands);

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode)
          || !register_operand (operands[1], E_V2x2DImode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_200 (insn, operands);

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode)
          || !register_operand (operands[1], E_V2x8HFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_201 (insn, operands);

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode)
          || !register_operand (operands[1], E_V2x4SFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_202 (insn, operands);

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode)
          || !register_operand (operands[1], E_V2x2DFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_203 (insn, operands);

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode)
          || !register_operand (operands[1], E_V2x8BFmode)
          || !
#line 7344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_204 (insn, operands);

    case E_OImode:
      if (!register_operand (operands[0], E_OImode)
          || !register_operand (operands[1], E_OImode)
          || !
#line 7354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_205 (insn, operands);

    case E_V3x8QImode:
      if (!nonimmediate_operand (operands[0], E_V3x8QImode)
          || !general_operand (operands[1], E_V3x8QImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_206 (insn, operands);

    case E_V3x4HImode:
      if (!nonimmediate_operand (operands[0], E_V3x4HImode)
          || !general_operand (operands[1], E_V3x4HImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_207 (insn, operands);

    case E_V3x2SImode:
      if (!nonimmediate_operand (operands[0], E_V3x2SImode)
          || !general_operand (operands[1], E_V3x2SImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_208 (insn, operands);

    case E_V3x1DImode:
      if (!nonimmediate_operand (operands[0], E_V3x1DImode)
          || !general_operand (operands[1], E_V3x1DImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_209 (insn, operands);

    case E_V3x4HFmode:
      if (!nonimmediate_operand (operands[0], E_V3x4HFmode)
          || !general_operand (operands[1], E_V3x4HFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_210 (insn, operands);

    case E_V3x2SFmode:
      if (!nonimmediate_operand (operands[0], E_V3x2SFmode)
          || !general_operand (operands[1], E_V3x2SFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_211 (insn, operands);

    case E_V3x1DFmode:
      if (!nonimmediate_operand (operands[0], E_V3x1DFmode)
          || !general_operand (operands[1], E_V3x1DFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_212 (insn, operands);

    case E_V3x4BFmode:
      if (!nonimmediate_operand (operands[0], E_V3x4BFmode)
          || !general_operand (operands[1], E_V3x4BFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_213 (insn, operands);

    case E_V3x16QImode:
      if (!nonimmediate_operand (operands[0], E_V3x16QImode)
          || !general_operand (operands[1], E_V3x16QImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_214 (insn, operands);

    case E_V3x8HImode:
      if (!nonimmediate_operand (operands[0], E_V3x8HImode)
          || !general_operand (operands[1], E_V3x8HImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_215 (insn, operands);

    case E_V3x4SImode:
      if (!nonimmediate_operand (operands[0], E_V3x4SImode)
          || !general_operand (operands[1], E_V3x4SImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_216 (insn, operands);

    case E_V3x2DImode:
      if (!nonimmediate_operand (operands[0], E_V3x2DImode)
          || !general_operand (operands[1], E_V3x2DImode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_217 (insn, operands);

    case E_V3x8HFmode:
      if (!nonimmediate_operand (operands[0], E_V3x8HFmode)
          || !general_operand (operands[1], E_V3x8HFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_218 (insn, operands);

    case E_V3x4SFmode:
      if (!nonimmediate_operand (operands[0], E_V3x4SFmode)
          || !general_operand (operands[1], E_V3x4SFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_219 (insn, operands);

    case E_V3x2DFmode:
      if (!nonimmediate_operand (operands[0], E_V3x2DFmode)
          || !general_operand (operands[1], E_V3x2DFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_220 (insn, operands);

    case E_V3x8BFmode:
      if (!nonimmediate_operand (operands[0], E_V3x8BFmode)
          || !general_operand (operands[1], E_V3x8BFmode)
          || !
#line 7364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_221 (insn, operands);

    case E_CImode:
      if (!nonimmediate_operand (operands[0], E_CImode)
          || !general_operand (operands[1], E_CImode)
          || !
#line 7400 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_222 (insn, operands);

    case E_V4x8QImode:
      if (!nonimmediate_operand (operands[0], E_V4x8QImode)
          || !general_operand (operands[1], E_V4x8QImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_223 (insn, operands);

    case E_V4x4HImode:
      if (!nonimmediate_operand (operands[0], E_V4x4HImode)
          || !general_operand (operands[1], E_V4x4HImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_224 (insn, operands);

    case E_V4x2SImode:
      if (!nonimmediate_operand (operands[0], E_V4x2SImode)
          || !general_operand (operands[1], E_V4x2SImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_225 (insn, operands);

    case E_V4x1DImode:
      if (!nonimmediate_operand (operands[0], E_V4x1DImode)
          || !general_operand (operands[1], E_V4x1DImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_226 (insn, operands);

    case E_V4x4HFmode:
      if (!nonimmediate_operand (operands[0], E_V4x4HFmode)
          || !general_operand (operands[1], E_V4x4HFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_227 (insn, operands);

    case E_V4x2SFmode:
      if (!nonimmediate_operand (operands[0], E_V4x2SFmode)
          || !general_operand (operands[1], E_V4x2SFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_228 (insn, operands);

    case E_V4x1DFmode:
      if (!nonimmediate_operand (operands[0], E_V4x1DFmode)
          || !general_operand (operands[1], E_V4x1DFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_229 (insn, operands);

    case E_V4x4BFmode:
      if (!nonimmediate_operand (operands[0], E_V4x4BFmode)
          || !general_operand (operands[1], E_V4x4BFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_230 (insn, operands);

    case E_V4x16QImode:
      if (!nonimmediate_operand (operands[0], E_V4x16QImode)
          || !general_operand (operands[1], E_V4x16QImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_231 (insn, operands);

    case E_V4x8HImode:
      if (!nonimmediate_operand (operands[0], E_V4x8HImode)
          || !general_operand (operands[1], E_V4x8HImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_232 (insn, operands);

    case E_V4x4SImode:
      if (!nonimmediate_operand (operands[0], E_V4x4SImode)
          || !general_operand (operands[1], E_V4x4SImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_233 (insn, operands);

    case E_V4x2DImode:
      if (!nonimmediate_operand (operands[0], E_V4x2DImode)
          || !general_operand (operands[1], E_V4x2DImode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_234 (insn, operands);

    case E_V4x8HFmode:
      if (!nonimmediate_operand (operands[0], E_V4x8HFmode)
          || !general_operand (operands[1], E_V4x8HFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_235 (insn, operands);

    case E_V4x4SFmode:
      if (!nonimmediate_operand (operands[0], E_V4x4SFmode)
          || !general_operand (operands[1], E_V4x4SFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_236 (insn, operands);

    case E_V4x2DFmode:
      if (!nonimmediate_operand (operands[0], E_V4x2DFmode)
          || !general_operand (operands[1], E_V4x2DFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_237 (insn, operands);

    case E_V4x8BFmode:
      if (!nonimmediate_operand (operands[0], E_V4x8BFmode)
          || !general_operand (operands[1], E_V4x8BFmode)
          || !
#line 7428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_238 (insn, operands);

    case E_XImode:
      if (!nonimmediate_operand (operands[0], E_XImode)
          || !general_operand (operands[1], E_XImode)
          || !
#line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_239 (insn, operands);

    case E_V8DImode:
      if (!nonimmediate_operand (operands[0], E_V8DImode)
          || !general_operand (operands[1], E_V8DImode)
          || !
#line 7482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
        return NULL;
      return gen_split_240 (insn, operands);

    case E_VNx32QImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32QImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx32QImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_380 (insn, operands);

    case E_VNx16HImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16HImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx16HImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_381 (insn, operands);

    case E_VNx8SImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8SImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx8SImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_382 (insn, operands);

    case E_VNx4DImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4DImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx4DImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_383 (insn, operands);

    case E_VNx16BFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16BFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx16BFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_384 (insn, operands);

    case E_VNx16HFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16HFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx16HFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_385 (insn, operands);

    case E_VNx8SFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8SFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx8SFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_386 (insn, operands);

    case E_VNx4DFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx4DFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx4DFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_387 (insn, operands);

    case E_VNx48QImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx48QImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx48QImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_388 (insn, operands);

    case E_VNx24HImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx24HImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx24HImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_389 (insn, operands);

    case E_VNx12SImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx12SImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx12SImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_390 (insn, operands);

    case E_VNx6DImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx6DImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx6DImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_391 (insn, operands);

    case E_VNx24BFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx24BFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx24BFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_392 (insn, operands);

    case E_VNx24HFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx24HFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx24HFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_393 (insn, operands);

    case E_VNx12SFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx12SFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx12SFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_394 (insn, operands);

    case E_VNx6DFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx6DFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx6DFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_395 (insn, operands);

    case E_VNx64QImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx64QImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx64QImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_396 (insn, operands);

    case E_VNx32HImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32HImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx32HImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_397 (insn, operands);

    case E_VNx16SImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16SImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx16SImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_398 (insn, operands);

    case E_VNx8DImode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8DImode)
          || !aarch64_sve_general_operand (operands[1], E_VNx8DImode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_399 (insn, operands);

    case E_VNx32BFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32BFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx32BFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_400 (insn, operands);

    case E_VNx32HFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx32HFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx32HFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_401 (insn, operands);

    case E_VNx16SFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx16SFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx16SFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_402 (insn, operands);

    case E_VNx8DFmode:
      if (!aarch64_sve_nonimmediate_operand (operands[0], E_VNx8DFmode)
          || !aarch64_sve_general_operand (operands[1], E_VNx8DFmode)
          || !
#line 873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_403 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC)
    return NULL;
  switch (pattern423 (x2))
    {
    case 0:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_438 (insn, operands);

    case 1:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_442 (insn, operands);

    case 2:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_446 (insn, operands);

    case 3:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_450 (insn, operands);

    case 4:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_454 (insn, operands);

    case 5:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_458 (insn, operands);

    case 6:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_462 (insn, operands);

    case 7:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_466 (insn, operands);

    case 8:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_470 (insn, operands);

    case 9:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_474 (insn, operands);

    case 10:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_439 (insn, operands);

    case 11:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_443 (insn, operands);

    case 12:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_447 (insn, operands);

    case 13:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_451 (insn, operands);

    case 14:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_455 (insn, operands);

    case 15:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_459 (insn, operands);

    case 16:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_463 (insn, operands);

    case 17:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_467 (insn, operands);

    case 18:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_471 (insn, operands);

    case 19:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_475 (insn, operands);

    case 20:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_478 (insn, operands);

    case 21:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_482 (insn, operands);

    case 22:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_486 (insn, operands);

    case 23:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_490 (insn, operands);

    case 24:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_494 (insn, operands);

    case 25:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_498 (insn, operands);

    case 26:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_502 (insn, operands);

    case 27:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_506 (insn, operands);

    case 28:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_510 (insn, operands);

    case 29:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_514 (insn, operands);

    case 30:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_479 (insn, operands);

    case 31:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_483 (insn, operands);

    case 32:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_487 (insn, operands);

    case 33:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_491 (insn, operands);

    case 34:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_495 (insn, operands);

    case 35:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_499 (insn, operands);

    case 36:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_503 (insn, operands);

    case 37:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_507 (insn, operands);

    case 38:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_511 (insn, operands);

    case 39:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_515 (insn, operands);

    case 40:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_541 (insn, operands);

    case 41:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_543 (insn, operands);

    case 42:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_545 (insn, operands);

    case 43:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_547 (insn, operands);

    case 44:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_549 (insn, operands);

    case 45:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_551 (insn, operands);

    case 46:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_553 (insn, operands);

    case 47:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_555 (insn, operands);

    case 48:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_557 (insn, operands);

    case 49:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_559 (insn, operands);

    case 50:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_563 (insn, operands);

    case 51:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_567 (insn, operands);

    case 52:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_571 (insn, operands);

    case 53:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_575 (insn, operands);

    case 54:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_579 (insn, operands);

    case 55:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_583 (insn, operands);

    case 56:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_585 (insn, operands);

    case 57:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_587 (insn, operands);

    case 58:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_589 (insn, operands);

    case 59:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_591 (insn, operands);

    case 60:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_593 (insn, operands);

    case 61:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_561 (insn, operands);

    case 62:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_565 (insn, operands);

    case 63:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_569 (insn, operands);

    case 64:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_573 (insn, operands);

    case 65:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_577 (insn, operands);

    case 66:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_581 (insn, operands);

    case 67:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_595 (insn, operands);

    case 68:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_597 (insn, operands);

    case 69:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_599 (insn, operands);

    case 70:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_601 (insn, operands);

    case 71:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_603 (insn, operands);

    case 72:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_605 (insn, operands);

    case 73:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_609 (insn, operands);

    case 74:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_611 (insn, operands);

    case 75:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_613 (insn, operands);

    case 76:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_615 (insn, operands);

    case 77:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_617 (insn, operands);

    case 78:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_619 (insn, operands);

    case 79:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_621 (insn, operands);

    case 80:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_623 (insn, operands);

    case 81:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_625 (insn, operands);

    case 82:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_627 (insn, operands);

    case 83:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_629 (insn, operands);

    case 84:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2200 (insn, operands);

    case 85:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2204 (insn, operands);

    case 86:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2202 (insn, operands);

    case 87:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2206 (insn, operands);

    case 88:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2208 (insn, operands);

    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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC)
    return NULL;
  switch (pattern423 (x2))
    {
    case 0:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_436 (insn, operands);

    case 1:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_440 (insn, operands);

    case 2:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_444 (insn, operands);

    case 3:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_448 (insn, operands);

    case 4:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_452 (insn, operands);

    case 5:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_456 (insn, operands);

    case 6:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_460 (insn, operands);

    case 7:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_464 (insn, operands);

    case 8:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_468 (insn, operands);

    case 9:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_472 (insn, operands);

    case 10:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_437 (insn, operands);

    case 11:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_441 (insn, operands);

    case 12:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_445 (insn, operands);

    case 13:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_449 (insn, operands);

    case 14:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_453 (insn, operands);

    case 15:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_457 (insn, operands);

    case 16:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_461 (insn, operands);

    case 17:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_465 (insn, operands);

    case 18:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_469 (insn, operands);

    case 19:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_473 (insn, operands);

    case 20:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_476 (insn, operands);

    case 21:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_480 (insn, operands);

    case 22:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_484 (insn, operands);

    case 23:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_488 (insn, operands);

    case 24:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_492 (insn, operands);

    case 25:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_496 (insn, operands);

    case 26:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_500 (insn, operands);

    case 27:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_504 (insn, operands);

    case 28:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_508 (insn, operands);

    case 29:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_512 (insn, operands);

    case 30:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_477 (insn, operands);

    case 31:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_481 (insn, operands);

    case 32:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_485 (insn, operands);

    case 33:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_489 (insn, operands);

    case 34:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_493 (insn, operands);

    case 35:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_497 (insn, operands);

    case 36:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_501 (insn, operands);

    case 37:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_505 (insn, operands);

    case 38:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_509 (insn, operands);

    case 39:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_513 (insn, operands);

    case 40:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_540 (insn, operands);

    case 41:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_542 (insn, operands);

    case 42:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_544 (insn, operands);

    case 43:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_546 (insn, operands);

    case 44:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_548 (insn, operands);

    case 45:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_550 (insn, operands);

    case 46:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_552 (insn, operands);

    case 47:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_554 (insn, operands);

    case 48:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_556 (insn, operands);

    case 49:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_558 (insn, operands);

    case 50:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_562 (insn, operands);

    case 51:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_566 (insn, operands);

    case 52:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_570 (insn, operands);

    case 53:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_574 (insn, operands);

    case 54:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_578 (insn, operands);

    case 55:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_582 (insn, operands);

    case 56:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_584 (insn, operands);

    case 57:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_586 (insn, operands);

    case 58:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_588 (insn, operands);

    case 59:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_590 (insn, operands);

    case 60:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_592 (insn, operands);

    case 61:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_560 (insn, operands);

    case 62:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_564 (insn, operands);

    case 63:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_568 (insn, operands);

    case 64:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_572 (insn, operands);

    case 65:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_576 (insn, operands);

    case 66:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_580 (insn, operands);

    case 67:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_594 (insn, operands);

    case 68:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_596 (insn, operands);

    case 69:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_598 (insn, operands);

    case 70:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_600 (insn, operands);

    case 71:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_602 (insn, operands);

    case 72:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_604 (insn, operands);

    case 73:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_608 (insn, operands);

    case 74:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_610 (insn, operands);

    case 75:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_612 (insn, operands);

    case 76:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_614 (insn, operands);

    case 77:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_616 (insn, operands);

    case 78:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_618 (insn, operands);

    case 79:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_620 (insn, operands);

    case 80:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_622 (insn, operands);

    case 81:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_624 (insn, operands);

    case 82:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_626 (insn, operands);

    case 83:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_628 (insn, operands);

    case 84:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2199 (insn, operands);

    case 85:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2203 (insn, operands);

    case 86:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2201 (insn, operands);

    case 87:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2205 (insn, operands);

    case 88:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2207 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern311 (x2))
        {
        case 0:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16QImode)
       || register_operand (operands[2], VNx16QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx16QImode)
   && register_operand (operands[2], VNx16QImode))))
            return NULL;
          return gen_split_323 (insn, operands);

        case 1:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8QImode)
       || register_operand (operands[2], VNx8QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8QImode)
   && register_operand (operands[2], VNx8QImode))))
            return NULL;
          return gen_split_324 (insn, operands);

        case 2:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4QImode)
       || register_operand (operands[2], VNx4QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4QImode)
   && register_operand (operands[2], VNx4QImode))))
            return NULL;
          return gen_split_325 (insn, operands);

        case 3:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2QImode)
       || register_operand (operands[2], VNx2QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2QImode)
   && register_operand (operands[2], VNx2QImode))))
            return NULL;
          return gen_split_326 (insn, operands);

        case 4:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HImode)
       || register_operand (operands[2], VNx8HImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8HImode)
   && register_operand (operands[2], VNx8HImode))))
            return NULL;
          return gen_split_327 (insn, operands);

        case 5:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HImode)
       || register_operand (operands[2], VNx4HImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4HImode)
   && register_operand (operands[2], VNx4HImode))))
            return NULL;
          return gen_split_328 (insn, operands);

        case 6:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HImode)
       || register_operand (operands[2], VNx2HImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2HImode)
   && register_operand (operands[2], VNx2HImode))))
            return NULL;
          return gen_split_329 (insn, operands);

        case 7:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HFmode)
       || register_operand (operands[2], VNx8HFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8HFmode)
   && register_operand (operands[2], VNx8HFmode))))
            return NULL;
          return gen_split_330 (insn, operands);

        case 8:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HFmode)
       || register_operand (operands[2], VNx4HFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4HFmode)
   && register_operand (operands[2], VNx4HFmode))))
            return NULL;
          return gen_split_331 (insn, operands);

        case 9:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HFmode)
       || register_operand (operands[2], VNx2HFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2HFmode)
   && register_operand (operands[2], VNx2HFmode))))
            return NULL;
          return gen_split_332 (insn, operands);

        case 10:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8BFmode)
       || register_operand (operands[2], VNx8BFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8BFmode)
   && register_operand (operands[2], VNx8BFmode))))
            return NULL;
          return gen_split_333 (insn, operands);

        case 11:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4BFmode)
       || register_operand (operands[2], VNx4BFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4BFmode)
   && register_operand (operands[2], VNx4BFmode))))
            return NULL;
          return gen_split_334 (insn, operands);

        case 12:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2BFmode)
       || register_operand (operands[2], VNx2BFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2BFmode)
   && register_operand (operands[2], VNx2BFmode))))
            return NULL;
          return gen_split_335 (insn, operands);

        case 13:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SImode)
       || register_operand (operands[2], VNx4SImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4SImode)
   && register_operand (operands[2], VNx4SImode))))
            return NULL;
          return gen_split_336 (insn, operands);

        case 14:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SImode)
       || register_operand (operands[2], VNx2SImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2SImode)
   && register_operand (operands[2], VNx2SImode))))
            return NULL;
          return gen_split_337 (insn, operands);

        case 15:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SFmode)
       || register_operand (operands[2], VNx4SFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4SFmode)
   && register_operand (operands[2], VNx4SFmode))))
            return NULL;
          return gen_split_338 (insn, operands);

        case 16:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SFmode)
       || register_operand (operands[2], VNx2SFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2SFmode)
   && register_operand (operands[2], VNx2SFmode))))
            return NULL;
          return gen_split_339 (insn, operands);

        case 17:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DImode)
       || register_operand (operands[2], VNx2DImode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2DImode)
   && register_operand (operands[2], VNx2DImode))))
            return NULL;
          return gen_split_340 (insn, operands);

        case 18:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DFmode)
       || register_operand (operands[2], VNx2DFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2DFmode)
   && register_operand (operands[2], VNx2DFmode))))
            return NULL;
          return gen_split_341 (insn, operands);

        case 19:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32QImode)
       || register_operand (operands[2], VNx32QImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_404 (insn, operands);

        case 20:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HImode)
       || register_operand (operands[2], VNx16HImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_405 (insn, operands);

        case 21:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SImode)
       || register_operand (operands[2], VNx8SImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_406 (insn, operands);

        case 22:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DImode)
       || register_operand (operands[2], VNx4DImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_407 (insn, operands);

        case 23:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16BFmode)
       || register_operand (operands[2], VNx16BFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_408 (insn, operands);

        case 24:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HFmode)
       || register_operand (operands[2], VNx16HFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_409 (insn, operands);

        case 25:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SFmode)
       || register_operand (operands[2], VNx8SFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_410 (insn, operands);

        case 26:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DFmode)
       || register_operand (operands[2], VNx4DFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_411 (insn, operands);

        case 27:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx48QImode)
       || register_operand (operands[2], VNx48QImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_412 (insn, operands);

        case 28:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HImode)
       || register_operand (operands[2], VNx24HImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_413 (insn, operands);

        case 29:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SImode)
       || register_operand (operands[2], VNx12SImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_414 (insn, operands);

        case 30:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DImode)
       || register_operand (operands[2], VNx6DImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_415 (insn, operands);

        case 31:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24BFmode)
       || register_operand (operands[2], VNx24BFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_416 (insn, operands);

        case 32:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HFmode)
       || register_operand (operands[2], VNx24HFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_417 (insn, operands);

        case 33:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SFmode)
       || register_operand (operands[2], VNx12SFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_418 (insn, operands);

        case 34:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DFmode)
       || register_operand (operands[2], VNx6DFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_419 (insn, operands);

        case 35:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx64QImode)
       || register_operand (operands[2], VNx64QImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_420 (insn, operands);

        case 36:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HImode)
       || register_operand (operands[2], VNx32HImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_421 (insn, operands);

        case 37:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SImode)
       || register_operand (operands[2], VNx16SImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_422 (insn, operands);

        case 38:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DImode)
       || register_operand (operands[2], VNx8DImode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_423 (insn, operands);

        case 39:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32BFmode)
       || register_operand (operands[2], VNx32BFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_424 (insn, operands);

        case 40:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HFmode)
       || register_operand (operands[2], VNx32HFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_425 (insn, operands);

        case 41:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SFmode)
       || register_operand (operands[2], VNx16SFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_426 (insn, operands);

        case 42:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DFmode)
       || register_operand (operands[2], VNx8DFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_427 (insn, operands);

        default:
          return NULL;
        }

    case SIGN_EXTEND:
      return split_3 (x1, insn);

    case ZERO_EXTEND:
      return split_2 (x1, insn);

    case MULT:
      switch (pattern315 (x2))
        {
        case 0:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_784 (insn, operands);

        case 1:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_789 (insn, operands);

        case 2:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_794 (insn, operands);

        case 3:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_799 (insn, operands);

        case 4:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_804 (insn, operands);

        case 5:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_809 (insn, operands);

        case 6:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_814 (insn, operands);

        case 7:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_819 (insn, operands);

        case 8:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_824 (insn, operands);

        case 9:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_829 (insn, operands);

        default:
          return NULL;
        }

    case SMAX:
      switch (pattern315 (x2))
        {
        case 0:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_785 (insn, operands);

        case 1:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_790 (insn, operands);

        case 2:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_795 (insn, operands);

        case 3:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_800 (insn, operands);

        case 4:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_805 (insn, operands);

        case 5:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_810 (insn, operands);

        case 6:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_815 (insn, operands);

        case 7:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_820 (insn, operands);

        case 8:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_825 (insn, operands);

        case 9:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_830 (insn, operands);

        default:
          return NULL;
        }

    case SMIN:
      switch (pattern315 (x2))
        {
        case 0:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_786 (insn, operands);

        case 1:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_791 (insn, operands);

        case 2:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_796 (insn, operands);

        case 3:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_801 (insn, operands);

        case 4:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_806 (insn, operands);

        case 5:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_811 (insn, operands);

        case 6:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_816 (insn, operands);

        case 7:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_821 (insn, operands);

        case 8:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_826 (insn, operands);

        case 9:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_831 (insn, operands);

        default:
          return NULL;
        }

    case UMAX:
      switch (pattern317 (x2))
        {
        case 0:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_787 (insn, operands);

        case 1:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_792 (insn, operands);

        case 2:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_797 (insn, operands);

        case 3:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_802 (insn, operands);

        case 4:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_807 (insn, operands);

        case 5:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_812 (insn, operands);

        case 6:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_817 (insn, operands);

        case 7:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_822 (insn, operands);

        case 8:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_827 (insn, operands);

        case 9:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_832 (insn, operands);

        default:
          return NULL;
        }

    case UMIN:
      switch (pattern317 (x2))
        {
        case 0:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_788 (insn, operands);

        case 1:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_793 (insn, operands);

        case 2:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_798 (insn, operands);

        case 3:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_803 (insn, operands);

        case 4:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_808 (insn, operands);

        case 5:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_813 (insn, operands);

        case 6:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_818 (insn, operands);

        case 7:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_823 (insn, operands);

        case 8:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_828 (insn, operands);

        case 9:
          if (!(
#line 3657 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3665 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_833 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFT:
      switch (pattern321 (x2))
        {
        case 0:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_1098 (insn, operands);

        case 1:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_1101 (insn, operands);

        case 2:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_1104 (insn, operands);

        case 3:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_1107 (insn, operands);

        case 4:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_1110 (insn, operands);

        case 5:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_1113 (insn, operands);

        case 6:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_1116 (insn, operands);

        case 7:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_1119 (insn, operands);

        case 8:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_1122 (insn, operands);

        case 9:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_1125 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFTRT:
      switch (pattern323 (x2))
        {
        case 0:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_1099 (insn, operands);

        case 1:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_1102 (insn, operands);

        case 2:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_1105 (insn, operands);

        case 3:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_1108 (insn, operands);

        case 4:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_1111 (insn, operands);

        case 5:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_1114 (insn, operands);

        case 6:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_1117 (insn, operands);

        case 7:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_1120 (insn, operands);

        case 8:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_1123 (insn, operands);

        case 9:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_1126 (insn, operands);

        default:
          return NULL;
        }

    case LSHIFTRT:
      switch (pattern323 (x2))
        {
        case 0:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_1100 (insn, operands);

        case 1:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_1103 (insn, operands);

        case 2:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_1106 (insn, operands);

        case 3:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_1109 (insn, operands);

        case 4:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_1112 (insn, operands);

        case 5:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_1115 (insn, operands);

        case 6:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_1118 (insn, operands);

        case 7:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_1121 (insn, operands);

        case 8:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_1124 (insn, operands);

        case 9:
          if (!(
#line 4587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_1127 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      switch (pattern325 (x2))
        {
        case 0:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2373 (insn, operands);

        case 1:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2374 (insn, operands);

        case 2:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2375 (insn, operands);

        case 3:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2376 (insn, operands);

        default:
          return NULL;
        }

    case IOR:
      switch (pattern325 (x2))
        {
        case 0:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2377 (insn, operands);

        case 1:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2378 (insn, operands);

        case 2:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2379 (insn, operands);

        case 3:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2380 (insn, operands);

        default:
          return NULL;
        }

    case NOT:
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != XOR)
        return NULL;
      switch (pattern427 (x2))
        {
        case 0:
          x5 = XEXP (x4, 1);
          if (rtx_equal_p (x5, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2381 (insn, operands);
          if (!rtx_equal_p (x5, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2382 (insn, operands);

        case 1:
          x5 = XEXP (x4, 1);
          if (rtx_equal_p (x5, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2383 (insn, operands);
          if (!rtx_equal_p (x5, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2384 (insn, operands);

        case 2:
          x5 = XEXP (x4, 1);
          if (rtx_equal_p (x5, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2385 (insn, operands);
          if (!rtx_equal_p (x5, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2386 (insn, operands);

        case 3:
          x5 = XEXP (x4, 1);
          if (rtx_equal_p (x5, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2387 (insn, operands);
          if (!rtx_equal_p (x5, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2388 (insn, operands);

        default:
          return NULL;
        }

    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, x6, x7, x8, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern653 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_718 (insn, operands);
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_751 (insn, operands);

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_729 (insn, operands);
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_762 (insn, operands);

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[3] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_740 (insn, operands);
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_773 (insn, operands);

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x6 = XVECEXP (x3, 0, 2);
      x7 = XVECEXP (x6, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x8 = XVECEXP (x6, 0, 2);
      operands[2] = x8;
      x9 = XVECEXP (x6, 0, 3);
      operands[3] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern868 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x4 = XVECEXP (x3, 0, 0);
          operands[4] = x4;
          x10 = XVECEXP (x6, 0, 0);
          operands[5] = x10;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && (
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1445 (insn, operands);
          if (rtx_equal_p (x5, operands[3])
              && (
#line 5986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5990 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1448 (insn, operands);
          operands[5] = x4;
          operands[6] = x10;
          operands[4] = x5;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 6040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1451 (insn, operands);

        case E_VNx4SFmode:
          if (pattern868 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x4 = XVECEXP (x3, 0, 0);
          operands[4] = x4;
          x10 = XVECEXP (x6, 0, 0);
          operands[5] = x10;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && (
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1446 (insn, operands);
          if (rtx_equal_p (x5, operands[3])
              && (
#line 5986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5990 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1449 (insn, operands);
          operands[5] = x4;
          operands[6] = x10;
          operands[4] = x5;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 6040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1452 (insn, operands);

        case E_VNx2DFmode:
          if (pattern868 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x4 = XVECEXP (x3, 0, 0);
          operands[4] = x4;
          x10 = XVECEXP (x6, 0, 0);
          operands[5] = x10;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && (
#line 5932 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1447 (insn, operands);
          if (rtx_equal_p (x5, operands[3])
              && (
#line 5986 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5990 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1450 (insn, operands);
          operands[5] = x4;
          operands[6] = x10;
          operands[4] = x5;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 6040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1453 (insn, operands);

        default:
          return NULL;
        }

    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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern543 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_698 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx16QImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_708 (insn, operands);

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_699 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8QImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_709 (insn, operands);

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_700 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4QImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_710 (insn, operands);

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_701 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2QImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_711 (insn, operands);

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_702 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8HImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_712 (insn, operands);

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_703 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4HImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_713 (insn, operands);

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_704 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2HImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_714 (insn, operands);

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_705 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4SImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_715 (insn, operands);

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_706 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2SImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_716 (insn, operands);

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3294 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3298 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_707 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2DImode)
          || !(
#line 3330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_717 (insn, operands);

    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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_728 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_761 (insn, operands);

    case E_VNx4SFmode:
      if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_739 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_772 (insn, operands);

    case E_VNx2DFmode:
      if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_750 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_783 (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, x6, x7;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_727 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_760 (insn, operands);

    case E_VNx4SFmode:
      if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_738 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_771 (insn, operands);

    case E_VNx2DFmode:
      if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_749 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_782 (insn, operands);

    default:
      return NULL;
    }
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx8HFmode:
      if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_726 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_759 (insn, operands);

    case E_VNx4SFmode:
      if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_737 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_770 (insn, operands);

    case E_VNx2DFmode:
      if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      x7 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x7, operands[2])
          && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_748 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_781 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2352 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2360 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2368 (insn, operands);
}

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, x3, x4, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2350 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2358 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2366 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2348 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2356 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2364 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2346 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2354 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2362 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2351 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx2DImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2359 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx2DImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2367 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2349 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx4SImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2357 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx4SImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2365 (insn, operands);
}

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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2347 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx8HImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2355 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx8HImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2363 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  if (aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2345 (insn, operands);
    }
  if (register_operand (operands[3], E_VNx16QImode))
    {
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2353 (insn, operands);
    }
  operands[5] = x4;
  if (!aarch64_sve_lshift_operand (operands[3], E_VNx16QImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 2);
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 633 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && (CONSTANT_P (operands[4]) || !rtx_equal_p (operands[3], operands[4]))) && 
#line 646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2361 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2255 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2296 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2336 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2243 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2286 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2326 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2231 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2276 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2316 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2219 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2266 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2306 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2254 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2295 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2335 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2242 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2285 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2325 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2230 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2275 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2315 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2218 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2265 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2305 (insn, operands);
}

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, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2253 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2294 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2334 (insn, operands);
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2241 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2284 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2324 (insn, operands);
}

static rtx_insn *
split_28 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2229 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2274 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2314 (insn, operands);
}

static rtx_insn *
split_29 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2217 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2264 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2304 (insn, operands);
}

static rtx_insn *
split_30 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2252 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2293 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2333 (insn, operands);
}

static rtx_insn *
split_31 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2240 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2283 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2323 (insn, operands);
}

static rtx_insn *
split_32 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2228 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2273 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2313 (insn, operands);
}

static rtx_insn *
split_33 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2216 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2263 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2303 (insn, operands);
}

static rtx_insn *
split_34 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2251 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2292 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2332 (insn, operands);
}

static rtx_insn *
split_35 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2239 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2282 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2322 (insn, operands);
}

static rtx_insn *
split_36 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2227 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2272 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2312 (insn, operands);
}

static rtx_insn *
split_37 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2215 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2262 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2302 (insn, operands);
}

static rtx_insn *
split_38 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2249 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2291 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2331 (insn, operands);
}

static rtx_insn *
split_39 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2237 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2281 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2321 (insn, operands);
}

static rtx_insn *
split_40 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2225 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2271 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2311 (insn, operands);
}

static rtx_insn *
split_41 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2213 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2261 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2301 (insn, operands);
}

static rtx_insn *
split_42 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2248 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2290 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2330 (insn, operands);
}

static rtx_insn *
split_43 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2236 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2280 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2320 (insn, operands);
}

static rtx_insn *
split_44 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2224 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2270 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2310 (insn, operands);
}

static rtx_insn *
split_45 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2212 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2260 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2300 (insn, operands);
}

static rtx_insn *
split_46 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2247 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2289 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2329 (insn, operands);
}

static rtx_insn *
split_47 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2235 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2279 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2319 (insn, operands);
}

static rtx_insn *
split_48 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2223 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2269 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2309 (insn, operands);
}

static rtx_insn *
split_49 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2211 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2259 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2299 (insn, operands);
}

static rtx_insn *
split_50 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2246 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2288 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2328 (insn, operands);
}

static rtx_insn *
split_51 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2234 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2278 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2318 (insn, operands);
}

static rtx_insn *
split_52 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2222 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2268 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2308 (insn, operands);
}

static rtx_insn *
split_53 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2210 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2258 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2298 (insn, operands);
}

static rtx_insn *
split_54 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x5, operands[2])
      && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2245 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2287 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2327 (insn, operands);
}

static rtx_insn *
split_55 (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 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (XWINT (x4, 0))
    {
    case 0L:
      switch (pattern735 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1255 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1297 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1324 (insn, operands);

        case 1:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1264 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1306 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1333 (insn, operands);

        case 2:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1273 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1315 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1342 (insn, operands);

        case 3:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1433 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5779 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1436 (insn, operands);

        case 4:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1434 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5779 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1437 (insn, operands);

        case 5:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1435 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5779 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1438 (insn, operands);

        default:
          return NULL;
        }

    case 1L:
      x6 = XVECEXP (x2, 0, 2);
      operands[4] = x6;
      x5 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return NULL;
      switch (GET_CODE (operands[2]))
        {
        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern690 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1351 (insn, operands);

            case E_VNx4SFmode:
              if (pattern690 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1360 (insn, operands);

            case E_VNx2DFmode:
              if (pattern690 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1369 (insn, operands);

            default:
              return NULL;
            }

        case CONST_VECTOR:
        case CONST:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern853 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !(
#line 5809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1439 (insn, operands);

            case E_VNx4SFmode:
              if (pattern853 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !(
#line 5809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1440 (insn, operands);

            case E_VNx2DFmode:
              if (pattern853 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !(
#line 5809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1441 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_56 (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 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (XWINT (x4, 0))
    {
    case 0L:
      switch (pattern733 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1253 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1295 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1322 (insn, operands);

        case 1:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1262 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1304 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1331 (insn, operands);

        case 2:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1271 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1313 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1340 (insn, operands);

        case 3:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1278 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1374 (insn, operands);

        case 4:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1283 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1379 (insn, operands);

        case 5:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1288 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1384 (insn, operands);

        default:
          return NULL;
        }

    case 1L:
      switch (pattern731 (x2))
        {
        case 0:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1349 (insn, operands);

        case 1:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1358 (insn, operands);

        case 2:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1367 (insn, operands);

        case 3:
          if (pattern852 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1389 (insn, operands);

        case 4:
          if (pattern852 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1394 (insn, operands);

        case 5:
          if (pattern852 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1399 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_57 (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 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  switch (XWINT (x4, 0))
    {
    case 0L:
      switch (pattern730 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1247 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1289 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1316 (insn, operands);

        case 1:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1256 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1298 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1325 (insn, operands);

        case 2:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1265 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1307 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1334 (insn, operands);

        case 3:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5418 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1403 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5468 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1406 (insn, operands);

        case 4:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5418 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1404 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5468 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1407 (insn, operands);

        case 5:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5418 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1405 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5460 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5468 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1408 (insn, operands);

        default:
          return NULL;
        }

    case 1L:
      switch (pattern731 (x2))
        {
        case 0:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1343 (insn, operands);

        case 1:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1352 (insn, operands);

        case 2:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1361 (insn, operands);

        case 3:
          if (pattern851 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 5498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1409 (insn, operands);

        case 4:
          if (pattern851 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 5498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1410 (insn, operands);

        case 5:
          if (pattern851 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 5498 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1411 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_58 (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, 1);
  switch (pattern695 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1252 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1294 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1321 (insn, operands);

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1261 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1303 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1330 (insn, operands);

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1270 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1312 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1339 (insn, operands);

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1277 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1373 (insn, operands);

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1282 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1378 (insn, operands);

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1287 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1383 (insn, operands);

    case 6:
      if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1348 (insn, operands);

    case 7:
      if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1357 (insn, operands);

    case 8:
      if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1366 (insn, operands);

    case 9:
      if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1388 (insn, operands);

    case 10:
      if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1393 (insn, operands);

    case 11:
      if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1398 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_59 (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, 1);
  switch (pattern695 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1251 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1293 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1320 (insn, operands);

    case 1:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1260 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1302 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1329 (insn, operands);

    case 2:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1269 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1311 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1338 (insn, operands);

    case 3:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1276 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1372 (insn, operands);

    case 4:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1281 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1377 (insn, operands);

    case 5:
      x3 = XVECEXP (x2, 0, 1);
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1286 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1382 (insn, operands);

    case 6:
      if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1347 (insn, operands);

    case 7:
      if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1356 (insn, operands);

    case 8:
      if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1365 (insn, operands);

    case 9:
      if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1387 (insn, operands);

    case 10:
      if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1392 (insn, operands);

    case 11:
      if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1397 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_60 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  if (XINT (x3, 1) != 118)
    return NULL;
  switch (pattern560 (x2))
    {
    case 0:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1158 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1198 (insn, operands);

    case 1:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1162 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1202 (insn, operands);

    case 2:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1166 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1206 (insn, operands);

    case 3:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1170 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1210 (insn, operands);

    case 4:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1174 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1214 (insn, operands);

    case 5:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1178 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1218 (insn, operands);

    case 6:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1182 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1222 (insn, operands);

    case 7:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1186 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1226 (insn, operands);

    case 8:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1190 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1230 (insn, operands);

    case 9:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1194 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1234 (insn, operands);

    case 10:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1159 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1199 (insn, operands);

    case 11:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1163 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1203 (insn, operands);

    case 12:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1167 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1207 (insn, operands);

    case 13:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1171 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1211 (insn, operands);

    case 14:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1175 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1215 (insn, operands);

    case 15:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1179 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1219 (insn, operands);

    case 16:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1183 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1223 (insn, operands);

    case 17:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1187 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1227 (insn, operands);

    case 18:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1191 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1231 (insn, operands);

    case 19:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1195 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1235 (insn, operands);

    case 20:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1160 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1200 (insn, operands);

    case 21:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1164 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1204 (insn, operands);

    case 22:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1168 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1208 (insn, operands);

    case 23:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1172 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1212 (insn, operands);

    case 24:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1176 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1216 (insn, operands);

    case 25:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1180 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1220 (insn, operands);

    case 26:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1184 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1224 (insn, operands);

    case 27:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1188 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1228 (insn, operands);

    case 28:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1192 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1232 (insn, operands);

    case 29:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1196 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1236 (insn, operands);

    case 30:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1161 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1201 (insn, operands);

    case 31:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1165 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1205 (insn, operands);

    case 32:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1169 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1209 (insn, operands);

    case 33:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1173 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1213 (insn, operands);

    case 34:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1177 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1217 (insn, operands);

    case 35:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1181 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1221 (insn, operands);

    case 36:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1185 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1225 (insn, operands);

    case 37:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1189 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1229 (insn, operands);

    case 38:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1193 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1233 (insn, operands);

    case 39:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && ((
#line 4791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1197 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !((
#line 4815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
        return NULL;
      return gen_split_1237 (insn, operands);

    case 40:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2209 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2257 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
        return NULL;
      return gen_split_2297 (insn, operands);

    case 41:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2221 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2267 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
        return NULL;
      return gen_split_2307 (insn, operands);

    case 42:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2233 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2277 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
        return NULL;
      return gen_split_2317 (insn, operands);

    case 43:
      return split_54 (x1, insn);

    case 44:
      return split_53 (x1, insn);

    case 45:
      return split_52 (x1, insn);

    case 46:
      return split_51 (x1, insn);

    case 47:
      return split_50 (x1, insn);

    case 48:
      return split_49 (x1, insn);

    case 49:
      return split_48 (x1, insn);

    case 50:
      return split_47 (x1, insn);

    case 51:
      return split_46 (x1, insn);

    case 52:
      return split_45 (x1, insn);

    case 53:
      return split_44 (x1, insn);

    case 54:
      return split_43 (x1, insn);

    case 55:
      return split_42 (x1, insn);

    case 56:
      return split_41 (x1, insn);

    case 57:
      return split_40 (x1, insn);

    case 58:
      return split_39 (x1, insn);

    case 59:
      return split_38 (x1, insn);

    case 60:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2214 (insn, operands);

    case 61:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2226 (insn, operands);

    case 62:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2238 (insn, operands);

    case 63:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2250 (insn, operands);

    case 64:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2337 (insn, operands);

    case 65:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2339 (insn, operands);

    case 66:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2341 (insn, operands);

    case 67:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2343 (insn, operands);

    case 68:
      return split_37 (x1, insn);

    case 69:
      return split_36 (x1, insn);

    case 70:
      return split_35 (x1, insn);

    case 71:
      return split_34 (x1, insn);

    case 72:
      return split_33 (x1, insn);

    case 73:
      return split_32 (x1, insn);

    case 74:
      return split_31 (x1, insn);

    case 75:
      return split_30 (x1, insn);

    case 76:
      return split_29 (x1, insn);

    case 77:
      return split_28 (x1, insn);

    case 78:
      return split_27 (x1, insn);

    case 79:
      return split_26 (x1, insn);

    case 80:
      return split_25 (x1, insn);

    case 81:
      return split_24 (x1, insn);

    case 82:
      return split_23 (x1, insn);

    case 83:
      return split_22 (x1, insn);

    case 84:
      return split_21 (x1, insn);

    case 85:
      return split_20 (x1, insn);

    case 86:
      return split_19 (x1, insn);

    case 87:
      return split_18 (x1, insn);

    case 88:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2220 (insn, operands);

    case 89:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2232 (insn, operands);

    case 90:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2244 (insn, operands);

    case 91:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2256 (insn, operands);

    case 92:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2338 (insn, operands);

    case 93:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2340 (insn, operands);

    case 94:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2342 (insn, operands);

    case 95:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2344 (insn, operands);

    case 96:
      return split_17 (x1, insn);

    case 97:
      return split_16 (x1, insn);

    case 98:
      return split_15 (x1, insn);

    case 99:
      return split_14 (x1, insn);

    case 100:
      return split_13 (x1, insn);

    case 101:
      return split_12 (x1, insn);

    case 102:
      return split_11 (x1, insn);

    case 103:
      return split_10 (x1, insn);

    case 104:
      if (!(
#line 2179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 2184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2436 (insn, operands);

    case 105:
      if (!(
#line 2179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 2184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2437 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_61 (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, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (XINT (x3, 1))
    {
    case 283:
      return split_6 (x1, insn);

    case 333:
      x4 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x4) != CONST_INT)
        return NULL;
      if (XWINT (x4, 0) == 0L)
        {
          res = split_5 (x1, insn);
          if (res != NULL_RTX)
            return res;
        }
      operands[5] = x4;
      if (!aarch64_sve_gp_strictness (operands[5], E_SImode))
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 4
          || XINT (x5, 1) != 373)
        return NULL;
      x6 = XVECEXP (x5, 0, 1);
      operands[6] = x6;
      if (!aarch64_sve_gp_strictness (operands[6], E_SImode))
        return NULL;
      x7 = XVECEXP (x5, 0, 2);
      operands[2] = x7;
      x8 = XVECEXP (x5, 0, 3);
      operands[3] = x8;
      x9 = XVECEXP (x2, 0, 2);
      operands[4] = x9;
      switch (pattern893 (x2))
        {
        case 0:
          if (!(
#line 6087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1454 (insn, operands);

        case 1:
          if (!(
#line 6087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1455 (insn, operands);

        case 2:
          if (!(
#line 6087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1456 (insn, operands);

        default:
          return NULL;
        }

    case 360:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_719 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_752 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_730 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_763 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_741 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_774 (insn, operands);

        default:
          return NULL;
        }

    case 363:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_720 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_753 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_731 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_764 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_742 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_775 (insn, operands);

        default:
          return NULL;
        }

    case 364:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_721 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_754 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_732 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_765 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_743 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_776 (insn, operands);

        default:
          return NULL;
        }

    case 365:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_722 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_755 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_733 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_766 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_744 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_777 (insn, operands);

        default:
          return NULL;
        }

    case 366:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_723 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_756 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_734 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_767 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_745 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_778 (insn, operands);

        default:
          return NULL;
        }

    case 367:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_724 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_757 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_735 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_768 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_746 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_779 (insn, operands);

        default:
          return NULL;
        }

    case 368:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern579 (x2, E_VNx8HFmode, E_VNx8BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_725 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_758 (insn, operands);

        case E_VNx4SFmode:
          if (pattern579 (x2, E_VNx4SFmode, E_VNx4BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_736 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_769 (insn, operands);

        case E_VNx2DFmode:
          if (pattern579 (x2, E_VNx2DFmode, E_VNx2BImode) != 0)
            return NULL;
          x10 = XVECEXP (x3, 0, 0);
          operands[3] = x10;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && (
#line 3444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_747 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_780 (insn, operands);

        default:
          return NULL;
        }

    case 369:
      return split_9 (x1, insn);

    case 370:
      return split_8 (x1, insn);

    case 372:
      return split_7 (x1, insn);

    case 349:
      switch (pattern547 (x2))
        {
        case 0:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2099 (insn, operands);

        case 1:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2101 (insn, operands);

        case 2:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2103 (insn, operands);

        case 3:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2105 (insn, operands);

        case 4:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2107 (insn, operands);

        case 5:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2109 (insn, operands);

        default:
          return NULL;
        }

    case 350:
      switch (pattern547 (x2))
        {
        case 0:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2100 (insn, operands);

        case 1:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2102 (insn, operands);

        case 2:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2104 (insn, operands);

        case 3:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2106 (insn, operands);

        case 4:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2108 (insn, operands);

        case 5:
          if (!(
#line 9000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2110 (insn, operands);

        default:
          return NULL;
        }

    case 374:
      switch (pattern550 (x2))
        {
        case 0:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2111 (insn, operands);

        case 1:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2113 (insn, operands);

        case 2:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2117 (insn, operands);

        case 3:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2115 (insn, operands);

        case 4:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2119 (insn, operands);

        case 5:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2121 (insn, operands);

        default:
          return NULL;
        }

    case 375:
      switch (pattern550 (x2))
        {
        case 0:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2112 (insn, operands);

        case 1:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2114 (insn, operands);

        case 2:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2118 (insn, operands);

        case 3:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2116 (insn, operands);

        case 4:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2120 (insn, operands);

        case 5:
          if (!(
#line 9187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2122 (insn, operands);

        default:
          return NULL;
        }

    case 71:
      switch (pattern553 (x2))
        {
        case 0:
          if (!(
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2421 (insn, operands);

        case 1:
          if (!(
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2423 (insn, operands);

        case 2:
          if (!(
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2425 (insn, operands);

        case 3:
          if (!(
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2427 (insn, operands);

        case 4:
          if (!(
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2429 (insn, operands);

        case 5:
          if (!(
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2431 (insn, operands);

        default:
          return NULL;
        }

    case 95:
      switch (pattern553 (x2))
        {
        case 0:
          if (!(
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2422 (insn, operands);

        case 1:
          if (!(
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2424 (insn, operands);

        case 2:
          if (!(
#line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2426 (insn, operands);

        case 3:
          if (!(
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2428 (insn, operands);

        case 4:
          if (!(
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2430 (insn, operands);

        case 5:
          if (!(
#line 1766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1770 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2432 (insn, operands);

        default:
          return NULL;
        }

    case 415:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x10 = XVECEXP (x3, 0, 0);
      operands[4] = x10;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      x9 = XVECEXP (x2, 0, 2);
      operands[3] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx4SFmode:
          if (pattern778 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
              || !(
#line 1981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2433 (insn, operands);

        case E_VNx2DFmode:
          if (pattern778 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
              || !(
#line 1981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2434 (insn, operands);

        default:
          return NULL;
        }

    case 417:
      if (GET_MODE (x3) != E_VNx4SFmode)
        return NULL;
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || !register_operand (operands[0], E_VNx4SFmode)
          || GET_MODE (x2) != E_VNx4SFmode
          || !register_operand (operands[1], E_VNx2BImode))
        return NULL;
      x10 = XVECEXP (x3, 0, 0);
      operands[4] = x10;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      if (!register_operand (operands[2], E_VNx2DFmode))
        return NULL;
      x9 = XVECEXP (x2, 0, 2);
      operands[3] = x9;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 2072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2077 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_2435 (insn, operands);

    case 419:
      x4 = XVECEXP (x3, 0, 1);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x10 = XVECEXP (x3, 0, 0);
      operands[4] = x10;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      x9 = XVECEXP (x2, 0, 2);
      operands[3] = x9;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HImode:
          if (pattern544 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 2239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2438 (insn, operands);

        case E_VNx4SImode:
          if (pattern544 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 2239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2439 (insn, operands);

        case E_VNx2DImode:
          if (pattern544 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 2239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2440 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_62 (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 = XVECEXP (x2, 0, 1);
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) != CONST_INT)
    return NULL;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 3);
  operands[3] = x6;
  switch (XINT (x3, 1))
    {
    case 371:
      switch (XWINT (x4, 0))
        {
        case 0L:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern779 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0)
                return NULL;
              x7 = XVECEXP (x3, 0, 0);
              operands[4] = x7;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && (
#line 4900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4904 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
                return gen_split_1238 (insn, operands);
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
                  || !(
#line 4945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1241 (insn, operands);

            case E_VNx4SFmode:
              if (pattern779 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0)
                return NULL;
              x7 = XVECEXP (x3, 0, 0);
              operands[4] = x7;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && (
#line 4900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4904 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
                return gen_split_1239 (insn, operands);
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
                  || !(
#line 4945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1242 (insn, operands);

            case E_VNx2DFmode:
              if (pattern779 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0)
                return NULL;
              x7 = XVECEXP (x3, 0, 0);
              operands[4] = x7;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && (
#line 4900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4904 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
                return gen_split_1240 (insn, operands);
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
                  || !(
#line 4945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1243 (insn, operands);

            default:
              return NULL;
            }

        case 1L:
          x8 = XVECEXP (x2, 0, 2);
          operands[4] = x8;
          x7 = XVECEXP (x3, 0, 0);
          if (!rtx_equal_p (x7, operands[1]))
            return NULL;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern836 (x2, E_VNx8HFmode, E_VNx8HImode, E_VNx8BImode) != 0
                  || !(
#line 4981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1244 (insn, operands);

            case E_VNx4SFmode:
              if (pattern836 (x2, E_VNx4SFmode, E_VNx4SImode, E_VNx4BImode) != 0
                  || !(
#line 4981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1245 (insn, operands);

            case E_VNx2DFmode:
              if (pattern836 (x2, E_VNx2DFmode, E_VNx2DImode, E_VNx2BImode) != 0
                  || !(
#line 4981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1246 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 334:
      return split_57 (x1, insn);

    case 351:
      switch (pattern691 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1248 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1290 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1317 (insn, operands);

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1257 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1299 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1326 (insn, operands);

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1266 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1308 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1335 (insn, operands);

        case 3:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1344 (insn, operands);

        case 4:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1353 (insn, operands);

        case 5:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1362 (insn, operands);

        default:
          return NULL;
        }

    case 352:
      switch (pattern695 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1249 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1291 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1318 (insn, operands);

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1258 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1300 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1327 (insn, operands);

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1267 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1309 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1336 (insn, operands);

        case 3:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1274 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1370 (insn, operands);

        case 4:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1279 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1375 (insn, operands);

        case 5:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1284 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1380 (insn, operands);

        case 6:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1345 (insn, operands);

        case 7:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1354 (insn, operands);

        case 8:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1363 (insn, operands);

        case 9:
          if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1385 (insn, operands);

        case 10:
          if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1390 (insn, operands);

        case 11:
          if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1395 (insn, operands);

        default:
          return NULL;
        }

    case 353:
      switch (pattern695 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1250 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1292 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1319 (insn, operands);

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1259 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1301 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1328 (insn, operands);

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1268 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1310 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1337 (insn, operands);

        case 3:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1275 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1371 (insn, operands);

        case 4:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1280 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1376 (insn, operands);

        case 5:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5153 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1285 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1381 (insn, operands);

        case 6:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1346 (insn, operands);

        case 7:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1355 (insn, operands);

        case 8:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1364 (insn, operands);

        case 9:
          if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1386 (insn, operands);

        case 10:
          if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1391 (insn, operands);

        case 11:
          if (!(
#line 5346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1396 (insn, operands);

        default:
          return NULL;
        }

    case 354:
      return split_59 (x1, insn);

    case 355:
      return split_58 (x1, insn);

    case 358:
      return split_56 (x1, insn);

    case 359:
      switch (pattern691 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1254 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1296 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1323 (insn, operands);

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1263 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1305 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1332 (insn, operands);

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1272 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5200 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1314 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1341 (insn, operands);

        case 3:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1350 (insn, operands);

        case 4:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1359 (insn, operands);

        case 5:
          if (!(
#line 5278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5287 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1368 (insn, operands);

        default:
          return NULL;
        }

    case 373:
      return split_55 (x1, insn);

    case 335:
      switch (pattern691 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1412 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1418 (insn, operands);

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1414 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1420 (insn, operands);

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1416 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1422 (insn, operands);

        case 3:
          if (!(
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1424 (insn, operands);

        case 4:
          if (!(
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1426 (insn, operands);

        case 5:
          if (!(
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1428 (insn, operands);

        default:
          return NULL;
        }

    case 336:
      switch (pattern691 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1413 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1419 (insn, operands);

        case 1:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1415 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1421 (insn, operands);

        case 2:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1417 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1423 (insn, operands);

        case 3:
          if (!(
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1425 (insn, operands);

        case 4:
          if (!(
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1427 (insn, operands);

        case 5:
          if (!(
#line 5664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1429 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_63 (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);
  switch (pattern452 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      operands[4] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern453 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_835 (insn, operands);

        case E_VNx8QImode:
          if (pattern453 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_852 (insn, operands);

        case E_VNx4QImode:
          if (pattern453 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_869 (insn, operands);

        case E_VNx2QImode:
          if (pattern453 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_886 (insn, operands);

        case E_VNx8HImode:
          if (pattern453 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_903 (insn, operands);

        case E_VNx4HImode:
          if (pattern453 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_920 (insn, operands);

        case E_VNx2HImode:
          if (pattern453 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_937 (insn, operands);

        case E_VNx4SImode:
          if (pattern453 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_954 (insn, operands);

        case E_VNx2SImode:
          if (pattern453 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_971 (insn, operands);

        case E_VNx2DImode:
          if (pattern453 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_988 (insn, operands);

        default:
          return NULL;
        }

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      operands[5] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern780 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1470 (insn, operands);

        case E_VNx8QImode:
          if (pattern780 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1471 (insn, operands);

        case E_VNx4QImode:
          if (pattern780 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1472 (insn, operands);

        case E_VNx2QImode:
          if (pattern780 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1473 (insn, operands);

        case E_VNx8HImode:
          if (pattern780 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1474 (insn, operands);

        case E_VNx4HImode:
          if (pattern780 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1475 (insn, operands);

        case E_VNx2HImode:
          if (pattern780 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1476 (insn, operands);

        case E_VNx4SImode:
          if (pattern780 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1477 (insn, operands);

        case E_VNx2SImode:
          if (pattern780 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1478 (insn, operands);

        case E_VNx2DImode:
          if (pattern780 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 6823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6834 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1479 (insn, operands);

        default:
          return NULL;
        }

    case 2:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1014 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1034 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1054 (insn, operands);

    case 3:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1016 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1036 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1056 (insn, operands);

    case 4:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1018 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1038 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1058 (insn, operands);

    case 5:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1020 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1040 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1060 (insn, operands);

    case 6:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1022 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1042 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1062 (insn, operands);

    case 7:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1024 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1044 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1064 (insn, operands);

    case 8:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1026 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1046 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1066 (insn, operands);

    case 9:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1028 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1048 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1068 (insn, operands);

    case 10:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1030 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1050 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1070 (insn, operands);

    case 11:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1032 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1052 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1072 (insn, operands);

    case 12:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1015 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1035 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1055 (insn, operands);

    case 13:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1017 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1037 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1057 (insn, operands);

    case 14:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1019 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1039 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1059 (insn, operands);

    case 15:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1021 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1041 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1061 (insn, operands);

    case 16:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1023 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1043 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1063 (insn, operands);

    case 17:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1025 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1045 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1065 (insn, operands);

    case 18:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1027 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1047 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1067 (insn, operands);

    case 19:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1029 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1049 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1069 (insn, operands);

    case 20:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1031 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1051 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1071 (insn, operands);

    case 21:
      x4 = XVECEXP (x2, 0, 1);
      x5 = XEXP (x4, 0);
      x6 = XVECEXP (x5, 0, 0);
      operands[4] = x6;
      x7 = XEXP (x4, 1);
      x8 = XVECEXP (x7, 0, 0);
      operands[5] = x8;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 4057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1033 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1053 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1073 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_64 (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 = XVECEXP (x2, 0, 1);
  switch (XVECLEN (x3, 0))
    {
    case 3:
      return split_61 (x1, insn);

    case 2:
      return split_60 (x1, insn);

    case 4:
      return split_62 (x1, insn);

    case 5:
      x4 = XVECEXP (x3, 0, 1);
      if (GET_CODE (x4) != CONST_INT)
        return NULL;
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      x6 = XVECEXP (x3, 0, 3);
      operands[3] = x6;
      x7 = XVECEXP (x3, 0, 4);
      operands[4] = x7;
      switch (XINT (x3, 1))
        {
        case 356:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1480 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1492 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1504 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1484 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1496 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1508 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1488 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1500 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1512 (insn, operands);

            case 3:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1516 (insn, operands);

            case 4:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1520 (insn, operands);

            case 5:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1524 (insn, operands);

            default:
              return NULL;
            }

        case 357:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1481 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1493 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1505 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1485 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1497 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1509 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1489 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1501 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1513 (insn, operands);

            case 3:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1517 (insn, operands);

            case 4:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1521 (insn, operands);

            case 5:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1525 (insn, operands);

            default:
              return NULL;
            }

        case 361:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1482 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1494 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1506 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1486 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1498 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1510 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1490 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1502 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1514 (insn, operands);

            case 3:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1518 (insn, operands);

            case 4:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1522 (insn, operands);

            case 5:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1526 (insn, operands);

            default:
              return NULL;
            }

        case 362:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1483 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1495 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1507 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1487 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1499 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1511 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7062 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7066 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1491 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7108 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7112 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1503 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1515 (insn, operands);

            case 3:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1519 (insn, operands);

            case 4:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1523 (insn, operands);

            case 5:
              if (!(
#line 7196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1527 (insn, operands);

            default:
              return NULL;
            }

        case 340:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1528 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1540 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1532 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1544 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1536 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1548 (insn, operands);

            case 3:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1552 (insn, operands);

            case 4:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1556 (insn, operands);

            case 5:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1560 (insn, operands);

            default:
              return NULL;
            }

        case 341:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1529 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1541 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1533 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1545 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1537 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1549 (insn, operands);

            case 3:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1553 (insn, operands);

            case 4:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1557 (insn, operands);

            case 5:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1561 (insn, operands);

            default:
              return NULL;
            }

        case 342:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1530 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1542 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1534 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1546 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1538 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1550 (insn, operands);

            case 3:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1554 (insn, operands);

            case 4:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1558 (insn, operands);

            case 5:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1562 (insn, operands);

            default:
              return NULL;
            }

        case 343:
          switch (pattern738 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1531 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1543 (insn, operands);

            case 1:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1535 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1547 (insn, operands);

            case 2:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1539 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7399 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1551 (insn, operands);

            case 3:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1555 (insn, operands);

            case 4:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1559 (insn, operands);

            case 5:
              if (!(
#line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DFmode)
   && !rtx_equal_p (operands[0], operands[5]))))
                return NULL;
              return gen_split_1563 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_65 (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 = XVECEXP (x2, 0, 2);
  operands[4] = x3;
  x4 = XVECEXP (x2, 0, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[2] = x5;
      x6 = XEXP (x4, 1);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern453 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_844 (insn, operands);

        case E_VNx8QImode:
          if (pattern453 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_861 (insn, operands);

        case E_VNx4QImode:
          if (pattern453 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_878 (insn, operands);

        case E_VNx2QImode:
          if (pattern453 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_895 (insn, operands);

        case E_VNx8HImode:
          if (pattern453 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_912 (insn, operands);

        case E_VNx4HImode:
          if (pattern453 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_929 (insn, operands);

        case E_VNx2HImode:
          if (pattern453 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_946 (insn, operands);

        case E_VNx4SImode:
          if (pattern453 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_963 (insn, operands);

        case E_VNx2SImode:
          if (pattern453 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_980 (insn, operands);

        case E_VNx2DImode:
          if (pattern453 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_997 (insn, operands);

        default:
          return NULL;
        }

    case NOT:
      x7 = XEXP (x5, 0);
      operands[3] = x7;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern697 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1088 (insn, operands);

        case E_VNx8QImode:
          if (pattern697 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1089 (insn, operands);

        case E_VNx4QImode:
          if (pattern697 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1090 (insn, operands);

        case E_VNx2QImode:
          if (pattern697 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1091 (insn, operands);

        case E_VNx8HImode:
          if (pattern697 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1092 (insn, operands);

        case E_VNx4HImode:
          if (pattern697 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1093 (insn, operands);

        case E_VNx2HImode:
          if (pattern697 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1094 (insn, operands);

        case E_VNx4SImode:
          if (pattern697 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1095 (insn, operands);

        case E_VNx2SImode:
          if (pattern697 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1096 (insn, operands);

        case E_VNx2DImode:
          if (pattern697 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 4505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4511 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1097 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_66 (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 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  x6 = XVECEXP (x2, 0, 2);
  operands[4] = x6;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern453 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_841 (insn, operands);

        case E_VNx8QImode:
          if (pattern453 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_858 (insn, operands);

        case E_VNx4QImode:
          if (pattern453 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_875 (insn, operands);

        case E_VNx2QImode:
          if (pattern453 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_892 (insn, operands);

        case E_VNx8HImode:
          if (pattern453 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_909 (insn, operands);

        case E_VNx4HImode:
          if (pattern453 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_926 (insn, operands);

        case E_VNx2HImode:
          if (pattern453 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_943 (insn, operands);

        case E_VNx4SImode:
          if (pattern453 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_960 (insn, operands);

        case E_VNx2SImode:
          if (pattern453 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_977 (insn, operands);

        case E_VNx2DImode:
          if (pattern453 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_994 (insn, operands);

        default:
          return NULL;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern696 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1128 (insn, operands);

        case E_VNx8QImode:
          if (pattern696 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1131 (insn, operands);

        case E_VNx4QImode:
          if (pattern696 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1134 (insn, operands);

        case E_VNx2QImode:
          if (pattern696 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1137 (insn, operands);

        case E_VNx8HImode:
          if (pattern696 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1140 (insn, operands);

        case E_VNx4HImode:
          if (pattern696 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1143 (insn, operands);

        case E_VNx2HImode:
          if (pattern696 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1146 (insn, operands);

        case E_VNx4SImode:
          if (pattern696 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1149 (insn, operands);

        case E_VNx2SImode:
          if (pattern696 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1152 (insn, operands);

        case E_VNx2DImode:
          if (pattern696 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_1155 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_67 (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 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      switch (pattern454 (x2))
        {
        case 0:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_834 (insn, operands);

        case 1:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_851 (insn, operands);

        case 2:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_868 (insn, operands);

        case 3:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_885 (insn, operands);

        case 4:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_902 (insn, operands);

        case 5:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_919 (insn, operands);

        case 6:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_936 (insn, operands);

        case 7:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_953 (insn, operands);

        case 8:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_970 (insn, operands);

        case 9:
          if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
            return NULL;
          return gen_split_987 (insn, operands);

        default:
          return NULL;
        }

    case MULT:
      x5 = XEXP (x4, 0);
      operands[2] = x5;
      x6 = XEXP (x4, 1);
      operands[3] = x6;
      x7 = XEXP (x3, 1);
      operands[4] = x7;
      x8 = XVECEXP (x2, 0, 2);
      operands[5] = x8;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern739 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1460 (insn, operands);

        case E_VNx8QImode:
          if (pattern739 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1461 (insn, operands);

        case E_VNx4QImode:
          if (pattern739 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1462 (insn, operands);

        case E_VNx2QImode:
          if (pattern739 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1463 (insn, operands);

        case E_VNx8HImode:
          if (pattern739 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1464 (insn, operands);

        case E_VNx4HImode:
          if (pattern739 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1465 (insn, operands);

        case E_VNx2HImode:
          if (pattern739 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1466 (insn, operands);

        case E_VNx4SImode:
          if (pattern739 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1467 (insn, operands);

        case E_VNx2SImode:
          if (pattern739 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1468 (insn, operands);

        case E_VNx2DImode:
          if (pattern739 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 6681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[5])
   && !rtx_equal_p (operands[3], operands[5])
   && !rtx_equal_p (operands[4], operands[5])) && 
#line 6692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[5], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[5]))))
            return NULL;
          return gen_split_1469 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_68 (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 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (XINT (x3, 1))
    {
    case 283:
      x5 = XVECEXP (x3, 0, 1);
      switch (GET_CODE (x5))
        {
        case UNSPEC:
          return split_64 (x1, insn);

        case PLUS:
          return split_67 (x1, insn);

        case MINUS:
          return split_63 (x1, insn);

        case MULT:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_836 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_853 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_870 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_887 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_904 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_921 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_938 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_955 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_972 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_989 (insn, operands);

            default:
              return NULL;
            }

        case SMAX:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_837 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_854 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_871 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_888 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_905 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_922 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_939 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_956 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_973 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_990 (insn, operands);

            default:
              return NULL;
            }

        case UMAX:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_838 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_855 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_872 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_889 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_906 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_923 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_940 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_957 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_974 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_991 (insn, operands);

            default:
              return NULL;
            }

        case SMIN:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_839 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_856 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_873 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_890 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_907 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_924 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_941 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_958 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_975 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_992 (insn, operands);

            default:
              return NULL;
            }

        case UMIN:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_840 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_857 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_874 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_891 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_908 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_925 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_942 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_959 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_976 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_993 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          return split_66 (x1, insn);

        case ASHIFTRT:
          switch (pattern456 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_842 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_859 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_876 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_893 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_910 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_927 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_944 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_961 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_978 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_995 (insn, operands);

            case 10:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1129 (insn, operands);

            case 11:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1132 (insn, operands);

            case 12:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1135 (insn, operands);

            case 13:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1138 (insn, operands);

            case 14:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1141 (insn, operands);

            case 15:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1144 (insn, operands);

            case 16:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1147 (insn, operands);

            case 17:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1150 (insn, operands);

            case 18:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1153 (insn, operands);

            case 19:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1156 (insn, operands);

            default:
              return NULL;
            }

        case LSHIFTRT:
          switch (pattern456 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_843 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_860 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_877 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_894 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_911 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_928 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_945 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_962 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_979 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_996 (insn, operands);

            case 10:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1130 (insn, operands);

            case 11:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1133 (insn, operands);

            case 12:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1136 (insn, operands);

            case 13:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1139 (insn, operands);

            case 14:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1142 (insn, operands);

            case 15:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1145 (insn, operands);

            case 16:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1148 (insn, operands);

            case 17:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1151 (insn, operands);

            case 18:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1154 (insn, operands);

            case 19:
              if (!(
#line 4639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1157 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          return split_65 (x1, insn);

        case IOR:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_845 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_862 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_879 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_896 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_913 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_930 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_947 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_964 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_981 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_998 (insn, operands);

            default:
              return NULL;
            }

        case XOR:
          switch (pattern454 (x3))
            {
            case 0:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_846 (insn, operands);

            case 1:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_863 (insn, operands);

            case 2:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_880 (insn, operands);

            case 3:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_897 (insn, operands);

            case 4:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_914 (insn, operands);

            case 5:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_931 (insn, operands);

            case 6:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_948 (insn, operands);

            case 7:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_965 (insn, operands);

            case 8:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_982 (insn, operands);

            case 9:
              if (!(
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_999 (insn, operands);

            default:
              return NULL;
            }

        case SS_PLUS:
          switch (pattern454 (x3))
            {
            case 0:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_847 (insn, operands);

            case 1:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_864 (insn, operands);

            case 2:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_881 (insn, operands);

            case 3:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_898 (insn, operands);

            case 4:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_915 (insn, operands);

            case 5:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_932 (insn, operands);

            case 6:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_949 (insn, operands);

            case 7:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_966 (insn, operands);

            case 8:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_983 (insn, operands);

            case 9:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1000 (insn, operands);

            default:
              return NULL;
            }

        case US_PLUS:
          switch (pattern454 (x3))
            {
            case 0:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_848 (insn, operands);

            case 1:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_865 (insn, operands);

            case 2:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_882 (insn, operands);

            case 3:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_899 (insn, operands);

            case 4:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_916 (insn, operands);

            case 5:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_933 (insn, operands);

            case 6:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_950 (insn, operands);

            case 7:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_967 (insn, operands);

            case 8:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_984 (insn, operands);

            case 9:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1001 (insn, operands);

            default:
              return NULL;
            }

        case SS_MINUS:
          switch (pattern454 (x3))
            {
            case 0:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_849 (insn, operands);

            case 1:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_866 (insn, operands);

            case 2:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_883 (insn, operands);

            case 3:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_900 (insn, operands);

            case 4:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_917 (insn, operands);

            case 5:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_934 (insn, operands);

            case 6:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_951 (insn, operands);

            case 7:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_968 (insn, operands);

            case 8:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_985 (insn, operands);

            case 9:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1002 (insn, operands);

            default:
              return NULL;
            }

        case US_MINUS:
          switch (pattern454 (x3))
            {
            case 0:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx16QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_850 (insn, operands);

            case 1:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_867 (insn, operands);

            case 2:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_884 (insn, operands);

            case 3:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2QImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_901 (insn, operands);

            case 4:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx8HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_918 (insn, operands);

            case 5:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_935 (insn, operands);

            case 6:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2HImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_952 (insn, operands);

            case 7:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_969 (insn, operands);

            case 8:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_986 (insn, operands);

            case 9:
              if (!((
#line 3745 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1003 (insn, operands);

            default:
              return NULL;
            }

        case DIV:
          switch (pattern457 (x3))
            {
            case 0:
              if (!(
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1074 (insn, operands);

            case 1:
              if (!(
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1076 (insn, operands);

            default:
              return NULL;
            }

        case UDIV:
          switch (pattern457 (x3))
            {
            case 0:
              if (!(
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx4SImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1075 (insn, operands);

            case 1:
              if (!(
#line 4378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[4], VNx2DImode)
   && !rtx_equal_p (operands[0], operands[4]))))
                return NULL;
              return gen_split_1077 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 333:
      x6 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 4
          || XINT (x6, 1) != 373)
        return NULL;
      x7 = XVECEXP (x6, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x5 = XVECEXP (x3, 0, 1);
      operands[4] = x5;
      if (!aarch64_sve_gp_strictness (operands[4], E_SImode))
        return NULL;
      x8 = XVECEXP (x6, 0, 0);
      operands[5] = x8;
      x9 = XVECEXP (x6, 0, 2);
      operands[2] = x9;
      x10 = XVECEXP (x6, 0, 3);
      operands[3] = x10;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8HFmode:
          if (pattern837 (x3, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5866 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
            return NULL;
          return gen_split_1442 (insn, operands);

        case E_VNx4SFmode:
          if (pattern837 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5866 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
            return NULL;
          return gen_split_1443 (insn, operands);

        case E_VNx2DFmode:
          if (pattern837 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 5862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5866 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
            return NULL;
          return gen_split_1444 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_69 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 2);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 2
      || XINT (x3, 1) != 118
      || GET_MODE (x3) != E_VNx2DImode)
    return NULL;
  x4 = XVECEXP (x2, 0, 0);
  operands[5] = x4;
  if (!register_operand (operands[5], E_VNx2BImode))
    return NULL;
  x5 = XVECEXP (x2, 0, 1);
  if (!register_operand (x5, E_DImode))
    return NULL;
  x6 = XVECEXP (x3, 0, 0);
  operands[6] = x6;
  x7 = XVECEXP (x3, 0, 1);
  if (GET_MODE (x7) != E_VNx2DImode)
    return NULL;
  x8 = XVECEXP (x2, 0, 3);
  if (!const_int_operand (x8, E_DImode))
    return NULL;
  switch (XINT (x2, 1))
    {
    case 113:
      x9 = XVECEXP (x2, 0, 5);
      if (GET_CODE (x9) != MEM
          || GET_MODE (x9) != E_BLKmode)
        return NULL;
      x10 = XEXP (x9, 0);
      if (GET_CODE (x10) != SCRATCH)
        return NULL;
      x11 = XEXP (x1, 0);
      operands[0] = x11;
      operands[1] = x5;
      operands[3] = x8;
      x12 = XVECEXP (x2, 0, 4);
      operands[4] = x12;
      switch (pattern896 (x2))
        {
        case 0:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_516 (insn, operands);

        case 1:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_518 (insn, operands);

        case 2:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_520 (insn, operands);

        case 3:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_522 (insn, operands);

        case 4:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_524 (insn, operands);

        case 5:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_526 (insn, operands);

        case 6:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_528 (insn, operands);

        case 7:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_530 (insn, operands);

        case 8:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_532 (insn, operands);

        case 9:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_533 (insn, operands);

        case 10:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_534 (insn, operands);

        case 11:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_535 (insn, operands);

        case 12:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_536 (insn, operands);

        case 13:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_537 (insn, operands);

        case 14:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_538 (insn, operands);

        case 15:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_539 (insn, operands);

        case 16:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_517 (insn, operands);

        case 17:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_519 (insn, operands);

        case 18:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_521 (insn, operands);

        case 19:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_523 (insn, operands);

        case 20:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_525 (insn, operands);

        case 21:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_527 (insn, operands);

        case 22:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_529 (insn, operands);

        case 23:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_531 (insn, operands);

        default:
          return NULL;
        }

    case 116:
      if (pattern326 (x1) != 0)
        return NULL;
      switch (pattern897 (x2))
        {
        case 0:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return gen_split_634 (insn, operands);
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_636 (insn, operands);
                  break;

                case 1:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_638 (insn, operands);
                  break;

                case 2:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_640 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_642 (insn, operands);
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_644 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return NULL;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !(
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_646 (insn, operands);

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !(
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_648 (insn, operands);

            default:
              return NULL;
            }

        case 1:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && (
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return gen_split_650 (insn, operands);
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if ((
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_651 (insn, operands);
                  break;

                case 1:
                  if ((
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_652 (insn, operands);
                  break;

                case 2:
                  if ((
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_653 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && (
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_654 (insn, operands);
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && (
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_655 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return NULL;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !(
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_656 (insn, operands);

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !(
#line 2335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_657 (insn, operands);

            default:
              return NULL;
            }

        case 2:
          x9 = XVECEXP (x2, 0, 5);
          if (GET_MODE (x9) == E_VNx2QImode
              && aarch64_gather_scale_operand_b (operands[3], E_DImode))
            {
              x10 = XEXP (x9, 0);
              operands[4] = x10;
              if (register_operand (operands[4], E_VNx2DImode)
                  && (
#line 2435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2439 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[5], operands[6]))))
                return gen_split_658 (insn, operands);
            }
          if (GET_MODE (x9) == E_VNx2HImode
              && aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              x10 = XEXP (x9, 0);
              operands[4] = x10;
              if (register_operand (operands[4], E_VNx2DImode)
                  && (
#line 2435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2439 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[5], operands[6]))))
                return gen_split_659 (insn, operands);
            }
          if (GET_MODE (x9) != E_VNx2SImode
              || !aarch64_gather_scale_operand_w (operands[3], E_DImode))
            return NULL;
          x10 = XEXP (x9, 0);
          operands[4] = x10;
          if (!register_operand (operands[4], E_VNx2DImode)
              || !(
#line 2435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2439 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[5], operands[6]))))
            return NULL;
          return gen_split_660 (insn, operands);

        case 3:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return gen_split_635 (insn, operands);
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern905 ())
                {
                case 0:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_637 (insn, operands);
                  break;

                case 1:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_639 (insn, operands);
                  break;

                case 2:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_641 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (aarch64_gather_scale_operand_w (operands[3], E_DImode))
            {
              switch (GET_MODE (operands[4]))
                {
                case E_VNx2SImode:
                  if (register_operand (operands[4], E_VNx2SImode)
                      && (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_643 (insn, operands);
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && (
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_645 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (!aarch64_gather_scale_operand_d (operands[3], E_DImode))
            return NULL;
          switch (GET_MODE (operands[4]))
            {
            case E_VNx2DImode:
              if (!register_operand (operands[4], E_VNx2DImode)
                  || !(
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_647 (insn, operands);

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !(
#line 2308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_649 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_70 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XVECLEN (x2, 0))
    {
    case 2:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      switch (XINT (x2, 1))
        {
        case 257:
          switch (pattern199 (x2))
            {
            case 0:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_141 (insn, operands);

            case 1:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_142 (insn, operands);

            case 2:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_143 (insn, operands);

            case 3:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_144 (insn, operands);

            case 4:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_145 (insn, operands);

            case 5:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_146 (insn, operands);

            case 6:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_147 (insn, operands);

            case 7:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_148 (insn, operands);

            case 8:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_149 (insn, operands);

            case 9:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_150 (insn, operands);

            case 10:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_151 (insn, operands);

            case 11:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_152 (insn, operands);

            case 12:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_153 (insn, operands);

            case 13:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_154 (insn, operands);

            case 14:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_155 (insn, operands);

            case 15:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_156 (insn, operands);

            case 16:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_157 (insn, operands);

            case 17:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_158 (insn, operands);

            case 18:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_159 (insn, operands);

            case 19:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_160 (insn, operands);

            case 20:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_161 (insn, operands);

            case 21:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_162 (insn, operands);

            case 22:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_163 (insn, operands);

            case 23:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_164 (insn, operands);

            case 24:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_165 (insn, operands);

            case 25:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_166 (insn, operands);

            case 26:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_167 (insn, operands);

            case 27:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_168 (insn, operands);

            case 28:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_169 (insn, operands);

            case 29:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_170 (insn, operands);

            case 30:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_171 (insn, operands);

            case 31:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_172 (insn, operands);

            case 32:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_173 (insn, operands);

            case 33:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_174 (insn, operands);

            case 34:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_175 (insn, operands);

            case 35:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_176 (insn, operands);

            case 36:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_177 (insn, operands);

            case 37:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_178 (insn, operands);

            case 38:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_179 (insn, operands);

            case 39:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_180 (insn, operands);

            case 40:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_181 (insn, operands);

            case 41:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_182 (insn, operands);

            case 42:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_183 (insn, operands);

            case 43:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_184 (insn, operands);

            case 44:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_185 (insn, operands);

            case 45:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_186 (insn, operands);

            case 46:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_187 (insn, operands);

            case 47:
              if (!(
#line 7042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_188 (insn, operands);

            default:
              return NULL;
            }

        case 230:
          if (GET_MODE (x2) != E_V2x16QImode
              || !register_operand (operands[0], E_V2x16QImode))
            return NULL;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], E_V16QImode))
            return NULL;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], E_V16QImode)
              || !(
#line 7756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
            return NULL;
          return gen_split_241 (insn, operands);

        case 118:
          return split_4 (x1, insn);

        case 143:
          switch (pattern200 (x2))
            {
            case 0:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_342 (insn, operands);

            case 1:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_343 (insn, operands);

            case 2:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_344 (insn, operands);

            case 3:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_345 (insn, operands);

            case 4:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_346 (insn, operands);

            case 5:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_347 (insn, operands);

            case 6:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_348 (insn, operands);

            case 7:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_349 (insn, operands);

            case 8:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_350 (insn, operands);

            case 9:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_351 (insn, operands);

            case 10:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_352 (insn, operands);

            case 11:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_353 (insn, operands);

            case 12:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_354 (insn, operands);

            case 13:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_355 (insn, operands);

            case 14:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_356 (insn, operands);

            case 15:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_357 (insn, operands);

            case 16:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_358 (insn, operands);

            case 17:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_359 (insn, operands);

            case 18:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_360 (insn, operands);

            default:
              return NULL;
            }

        case 282:
          if (GET_MODE (x2) != E_VNx2DImode)
            return NULL;
          x5 = XVECEXP (x2, 0, 1);
          if (GET_CODE (x5) != UNSPEC
              || pattern428 (x5) != 0
              || !register_operand (operands[0], E_VNx2DImode))
            return NULL;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], E_VNx2DImode))
            return NULL;
          x6 = XVECEXP (x5, 0, 0);
          operands[3] = x6;
          x7 = XVECEXP (x5, 0, 1);
          x8 = XEXP (x7, 0);
          x9 = XEXP (x8, 0);
          operands[2] = x9;
          if (!register_operand (operands[2], E_VNx2DImode)
              || !(
#line 3853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3855 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_1004 (insn, operands);

        default:
          return NULL;
        }

    case 1:
      if (XINT (x2, 1) != 144)
        return NULL;
      switch (pattern140 (x1))
        {
        case 0:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_361 (insn, operands);

        case 1:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_362 (insn, operands);

        case 2:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_363 (insn, operands);

        case 3:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_364 (insn, operands);

        case 4:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_365 (insn, operands);

        case 5:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_366 (insn, operands);

        case 6:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_367 (insn, operands);

        case 7:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_368 (insn, operands);

        case 8:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_369 (insn, operands);

        case 9:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_370 (insn, operands);

        case 10:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_371 (insn, operands);

        case 11:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_372 (insn, operands);

        case 12:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_373 (insn, operands);

        case 13:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_374 (insn, operands);

        case 14:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_375 (insn, operands);

        case 15:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_376 (insn, operands);

        case 16:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_377 (insn, operands);

        case 17:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_378 (insn, operands);

        case 18:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_379 (insn, operands);

        default:
          return NULL;
        }

    case 6:
      return split_69 (x1, insn);

    case 7:
      if (XINT (x2, 1) != 114)
        return NULL;
      x10 = XVECEXP (x2, 0, 2);
      if (GET_CODE (x10) != UNSPEC
          || pattern280 (x10) != 0
          || pattern154 (x1) != 0)
        return NULL;
      x4 = XVECEXP (x2, 0, 0);
      operands[5] = x4;
      if (!register_operand (operands[5], E_VNx2BImode))
        return NULL;
      x5 = XVECEXP (x2, 0, 1);
      operands[1] = x5;
      if (!register_operand (operands[1], E_DImode))
        return NULL;
      x11 = XVECEXP (x10, 0, 0);
      operands[6] = x11;
      x12 = XVECEXP (x10, 0, 1);
      x13 = XEXP (x12, 0);
      x14 = XEXP (x13, 0);
      operands[2] = x14;
      if (!register_operand (operands[2], E_VNx2DImode))
        return NULL;
      x15 = XVECEXP (x2, 0, 3);
      operands[3] = x15;
      if (!const_int_operand (operands[3], E_DImode))
        return NULL;
      x16 = XVECEXP (x2, 0, 4);
      operands[4] = x16;
      switch (pattern926 (x2))
        {
        case 0:
          if (!(
#line 1761 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_606 (insn, operands);

        case 1:
          if (!(
#line 1761 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_607 (insn, operands);

        default:
          return NULL;
        }

    case 3:
      return split_68 (x1, insn);

    case 4:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (XINT (x2, 1))
        {
        case 334:
          switch (pattern432 (x2))
            {
            case 0:
              if (!(
#line 5379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[3], VNx8HFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1400 (insn, operands);

            case 1:
              if (!(
#line 5379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[3], VNx4SFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1401 (insn, operands);

            case 2:
              if (!(
#line 5379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[3], VNx2DFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1402 (insn, operands);

            default:
              return NULL;
            }

        case 373:
          switch (pattern434 (x2))
            {
            case 0:
              if (!(
#line 5698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[2], VNx8HFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1430 (insn, operands);

            case 1:
              if (!(
#line 5698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[2], VNx4SFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1431 (insn, operands);

            case 2:
              if (!(
#line 5698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[2], VNx2DFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1432 (insn, operands);

            default:
              return NULL;
            }

        case 358:
          switch (pattern436 (x2))
            {
            case 0:
              if (!(
#line 6123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[3], VNx8HFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1457 (insn, operands);

            case 1:
              if (!(
#line 6123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[3], VNx4SFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1458 (insn, operands);

            case 2:
              if (!(
#line 6123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && register_operand (operands[3], VNx2DFmode)
   && INTVAL (operands[4]) == SVE_RELAXED_GP)))
                return NULL;
              return gen_split_1459 (insn, operands);

            default:
              return NULL;
            }

        case 338:
          switch (pattern459 (x2))
            {
            case 0:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2087 (insn, operands);

            case 1:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2091 (insn, operands);

            case 2:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2095 (insn, operands);

            default:
              return NULL;
            }

        case 339:
          switch (pattern459 (x2))
            {
            case 0:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2088 (insn, operands);

            case 1:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2092 (insn, operands);

            case 2:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2096 (insn, operands);

            default:
              return NULL;
            }

        case 344:
          switch (pattern459 (x2))
            {
            case 0:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2089 (insn, operands);

            case 1:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2093 (insn, operands);

            case 2:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2097 (insn, operands);

            default:
              return NULL;
            }

        case 345:
          switch (pattern459 (x2))
            {
            case 0:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2090 (insn, operands);

            case 1:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2094 (insn, operands);

            case 2:
              if (!(
#line 8346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8348 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[5])
       || !rtx_equal_p (operands[1], operands[6])))))
                return NULL;
              return gen_split_2098 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_71 (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 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return NULL;
  operands[2] = x3;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 0);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (pattern448 (x2, E_V16QImode, E_V8QImode) == 0
          && (
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V8QImode))))
        return gen_split_109 (insn, operands);
      break;

    case E_V4HImode:
      if (pattern448 (x2, E_V8HImode, E_V4HImode) == 0
          && (
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V4HImode))))
        return gen_split_110 (insn, operands);
      break;

    case E_V2SImode:
      if (pattern448 (x2, E_V4SImode, E_V2SImode) == 0
          && (
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V2SImode))))
        return gen_split_111 (insn, operands);
      break;

    case E_V4HFmode:
      if (pattern448 (x2, E_V8HFmode, E_V4HFmode) == 0
          && (
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V4HFmode))))
        return gen_split_112 (insn, operands);
      break;

    case E_V4BFmode:
      if (pattern448 (x2, E_V8BFmode, E_V4BFmode) == 0
          && (
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V4BFmode))))
        return gen_split_113 (insn, operands);
      break;

    case E_V2SFmode:
      if (pattern448 (x2, E_V4SFmode, E_V2SFmode) == 0
          && (
#line 339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V2SFmode))))
        return gen_split_114 (insn, operands);
      break;

    default:
      break;
    }
  if (XVECLEN (x3, 0) != 1)
    return NULL;
  operands[0] = x4;
  operands[1] = x5;
  x6 = XVECEXP (x3, 0, 0);
  operands[2] = x6;
  if (immediate_operand (operands[2], E_SImode))
    {
      switch (GET_MODE (operands[0]))
        {
        case E_QImode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_QImode)
              && GET_MODE (x2) == E_QImode)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V8QImode:
                  if (register_operand (operands[1], E_V8QImode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_117 (insn, operands);
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (16, INTVAL (operands[2])) == 0)))
                    return gen_split_118 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case E_HImode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_HImode)
              && GET_MODE (x2) == E_HImode)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (register_operand (operands[1], E_V4HImode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_119 (insn, operands);
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_120 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case E_SImode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_SImode)
              && GET_MODE (x2) == E_SImode)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (register_operand (operands[1], E_V2SImode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
                    return gen_split_121 (insn, operands);
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_122 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case E_DImode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_DImode)
              && GET_MODE (x2) == E_DImode
              && register_operand (operands[1], E_V2DImode)
              && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
            return gen_split_123 (insn, operands);
          break;

        case E_HFmode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_HFmode)
              && GET_MODE (x2) == E_HFmode)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4HFmode:
                  if (register_operand (operands[1], E_V4HFmode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_124 (insn, operands);
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_125 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case E_BFmode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_BFmode)
              && GET_MODE (x2) == E_BFmode)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V4BFmode:
                  if (register_operand (operands[1], E_V4BFmode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_126 (insn, operands);
                  break;

                case E_V8BFmode:
                  if (register_operand (operands[1], E_V8BFmode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_127 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case E_SFmode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_SFmode)
              && GET_MODE (x2) == E_SFmode)
            {
              switch (GET_MODE (operands[1]))
                {
                case E_V2SFmode:
                  if (register_operand (operands[1], E_V2SFmode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
                    return gen_split_128 (insn, operands);
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_129 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case E_DFmode:
          if (aarch64_simd_nonimmediate_operand (operands[0], E_DFmode)
              && GET_MODE (x2) == E_DFmode
              && register_operand (operands[1], E_V2DFmode)
              && (
#line 4205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
            return gen_split_130 (insn, operands);
          break;

        default:
          break;
        }
    }
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  switch (pattern449 (x2))
    {
    case 0:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_680 (insn, operands);

    case 1:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_681 (insn, operands);

    case 2:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_682 (insn, operands);

    case 3:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_683 (insn, operands);

    case 4:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_684 (insn, operands);

    case 5:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_685 (insn, operands);

    case 6:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_686 (insn, operands);

    case 7:
      if (!(
#line 2763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2778 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_687 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_72 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (pattern1 (x3))
        {
        case 0:
          if (aarch64_pluslong_strict_immedate (operands[2], E_SImode)
              && 
#line 2143 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(epilogue_completed))
            return gen_split_16 (insn, operands);
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_SImode)
              || !(
#line 2175 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx) && 
#line 2184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( epilogue_completed
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && aarch64_split_add_offset_immediate (operands[2], SImode))))
            return NULL;
          return gen_split_18 (insn, operands);

        case 1:
          if (aarch64_pluslong_strict_immedate (operands[2], E_DImode)
              && 
#line 2143 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(epilogue_completed))
            return gen_split_17 (insn, operands);
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_DImode)
              || !(
#line 2175 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx) && 
#line 2184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( epilogue_completed
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && aarch64_split_add_offset_immediate (operands[2], DImode))))
            return NULL;
          return gen_split_19 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != ASHIFT)
        return NULL;
      switch (pattern279 (x3))
        {
        case 0:
          if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[3]))
   && (PLUS != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_38 (insn, operands);

        case 1:
          if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[3]))
   && (PLUS != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_42 (insn, operands);

        case 2:
          if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[4]))
   && (PLUS != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_46 (insn, operands);

        case 3:
          if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[4]))
   && (PLUS != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_50 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      switch (XVECLEN (x4, 0))
        {
        case 2:
          if (XINT (x4, 1) != 118)
            return NULL;
          x7 = XVECEXP (x4, 0, 1);
          switch (GET_CODE (x7))
            {
            case ASHIFT:
              x8 = XEXP (x7, 1);
              operands[3] = x8;
              switch (pattern507 (x3))
                {
                case 0:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1005 (insn, operands);

                case 1:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1006 (insn, operands);

                case 2:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1007 (insn, operands);

                case 3:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1008 (insn, operands);

                case 4:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1009 (insn, operands);

                case 5:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1010 (insn, operands);

                case 6:
                  if (!(
#line 3913 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1011 (insn, operands);

                case 7:
                  if (!(
#line 3937 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3939 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
                    return NULL;
                  return gen_split_1012 (insn, operands);

                case 8:
                  if (!(
#line 3958 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3960 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
                    return NULL;
                  return gen_split_1013 (insn, operands);

                default:
                  return NULL;
                }

            case ASHIFTRT:
              switch (pattern501 (x3))
                {
                case 0:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2413 (insn, operands);

                case 1:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2415 (insn, operands);

                case 2:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2417 (insn, operands);

                case 3:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2419 (insn, operands);

                default:
                  return NULL;
                }

            case LSHIFTRT:
              switch (pattern501 (x3))
                {
                case 0:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2414 (insn, operands);

                case 1:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2416 (insn, operands);

                case 2:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2418 (insn, operands);

                case 3:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2420 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case 3:
          if (XINT (x4, 1) != 291)
            return NULL;
          switch (pattern391 (x3))
            {
            case 0:
              if (!(
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2145 (insn, operands);

            case 1:
              if (!(
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2146 (insn, operands);

            case 2:
              if (!(
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2147 (insn, operands);

            case 3:
              if (!(
#line 10201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2148 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x4) != E_DImode)
        return NULL;
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 3
          || XINT (x6, 1) != 291
          || GET_MODE (x6) != E_SImode)
        return NULL;
      x9 = XVECEXP (x6, 0, 1);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode)
        return NULL;
      x10 = XVECEXP (x6, 0, 0);
      operands[3] = x10;
      x11 = XVECEXP (x6, 0, 2);
      operands[2] = x11;
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      if (!register_operand (operands[1], E_DImode))
        return NULL;
      switch (pattern26 ())
        {
        case 0:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2133 (insn, operands);

        case 1:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2136 (insn, operands);

        case 2:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2139 (insn, operands);

        case 3:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2142 (insn, operands);

        default:
          return NULL;
        }

    case VEC_DUPLICATE:
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      switch (pattern27 (x3))
        {
        case 0:
          if (!(
#line 10289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10293 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2157 (insn, operands);

        case 1:
          if (!(
#line 10328 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10332 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2160 (insn, operands);

        case 2:
          if (!(
#line 10369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10373 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2163 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_73 (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, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern447 (x3, E_SImode) != 0)
            return NULL;
          return gen_split_33 (insn, operands);

        case E_DImode:
          if (pattern447 (x3, E_DImode) != 0)
            return NULL;
          return gen_split_34 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != ASHIFT)
        return NULL;
      switch (pattern279 (x3))
        {
        case 0:
          if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[3]))
   && (AND != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_35 (insn, operands);

        case 1:
          if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[3]))
   && (AND != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_39 (insn, operands);

        case 2:
          if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[4]))
   && (AND != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_43 (insn, operands);

        case 3:
          if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[4]))
   && (AND != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
            return NULL;
          return gen_split_47 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFT:
      x7 = XEXP (x4, 1);
      operands[2] = x7;
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case SIGN_EXTEND:
          x5 = XEXP (x3, 1);
          if (GET_CODE (x5) != SIGN_EXTEND)
            return NULL;
          x8 = XEXP (x6, 0);
          operands[1] = x8;
          if (!register_operand (operands[1], E_VOIDmode))
            return NULL;
          switch (pattern20 (x3))
            {
            case 0:
              if (!
#line 4643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
                return NULL;
              return gen_split_51 (insn, operands);

            case 1:
              if (!
#line 4643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
                return NULL;
              return gen_split_54 (insn, operands);

            default:
              return NULL;
            }

        case REG:
        case SUBREG:
          operands[1] = x6;
          if (!register_operand (operands[1], E_DImode)
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x3) != E_DImode
              || GET_MODE (x4) != E_DImode
              || !const_int_operand (operands[2], E_VOIDmode))
            return NULL;
          x5 = XEXP (x3, 1);
          operands[3] = x5;
          if (!const_int_operand (operands[3], E_VOIDmode)
              || !
#line 5946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_mask_and_shift_for_ubfiz_p (DImode, operands[3], operands[2])
  && (INTVAL (operands[2]) + popcount_hwi (INTVAL (operands[3])))
      == GET_MODE_BITSIZE (SImode)))
            return NULL;
          return gen_split_92 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 2:
          switch (pattern252 (x3))
            {
            case 0:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1078 (insn, operands);

            case 1:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1079 (insn, operands);

            case 2:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1080 (insn, operands);

            case 3:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1081 (insn, operands);

            case 4:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1082 (insn, operands);

            case 5:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1083 (insn, operands);

            case 6:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1084 (insn, operands);

            case 7:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1085 (insn, operands);

            case 8:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1086 (insn, operands);

            case 9:
              if (!(
#line 4455 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1087 (insn, operands);

            default:
              return NULL;
            }

        case 4:
          switch (pattern255 (x3))
            {
            case 0:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2024 (insn, operands);

            case 1:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2030 (insn, operands);

            case 2:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2036 (insn, operands);

            case 3:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2025 (insn, operands);

            case 4:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2031 (insn, operands);

            case 5:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2037 (insn, operands);

            case 6:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2026 (insn, operands);

            case 7:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2032 (insn, operands);

            case 8:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2038 (insn, operands);

            case 9:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2027 (insn, operands);

            case 10:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2033 (insn, operands);

            case 11:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2039 (insn, operands);

            case 12:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2028 (insn, operands);

            case 13:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2034 (insn, operands);

            case 14:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2040 (insn, operands);

            case 15:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2029 (insn, operands);

            case 16:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2035 (insn, operands);

            case 17:
              if (!(
#line 8111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2041 (insn, operands);

            case 18:
              if (!(
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2042 (insn, operands);

            case 19:
              if (!(
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2043 (insn, operands);

            case 20:
              if (!(
#line 8134 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2044 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_74 (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;
  switch (pattern21 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 0);
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case ASHIFT:
          switch (pattern279 (x2))
            {
            case 0:
              if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[3]))
   && (IOR != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_36 (insn, operands);

            case 1:
              if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[3]))
   && (IOR != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_40 (insn, operands);

            case 2:
              if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[4]))
   && (IOR != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_44 (insn, operands);

            case 3:
              if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[4]))
   && (IOR != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_48 (insn, operands);

            default:
              return NULL;
            }

        case REG:
        case SUBREG:
          operands[1] = x4;
          x5 = XEXP (x2, 1);
          if (GET_CODE (x5) != UNSPEC
              || pattern369 (x5) != 0)
            return NULL;
          switch (pattern688 (x2))
            {
            case 0:
              x6 = XVECEXP (x5, 0, 1);
              x7 = XEXP (x6, 0);
              x8 = XEXP (x7, 0);
              operands[3] = x8;
              if (register_operand (operands[3], E_VNx16QImode))
                {
                  x9 = XEXP (x6, 1);
                  x10 = XEXP (x9, 0);
                  if (rtx_equal_p (x10, operands[1])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2397 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2398 (insn, operands);
                }
              x9 = XEXP (x6, 1);
              x10 = XEXP (x9, 0);
              operands[3] = x10;
              if (!register_operand (operands[3], E_VNx16QImode))
                return NULL;
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2405 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2406 (insn, operands);

            case 1:
              x6 = XVECEXP (x5, 0, 1);
              x7 = XEXP (x6, 0);
              x8 = XEXP (x7, 0);
              operands[3] = x8;
              if (register_operand (operands[3], E_VNx8HImode))
                {
                  x9 = XEXP (x6, 1);
                  x10 = XEXP (x9, 0);
                  if (rtx_equal_p (x10, operands[1])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2399 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2400 (insn, operands);
                }
              x9 = XEXP (x6, 1);
              x10 = XEXP (x9, 0);
              operands[3] = x10;
              if (!register_operand (operands[3], E_VNx8HImode))
                return NULL;
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2407 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2408 (insn, operands);

            case 2:
              x6 = XVECEXP (x5, 0, 1);
              x7 = XEXP (x6, 0);
              x8 = XEXP (x7, 0);
              operands[3] = x8;
              if (register_operand (operands[3], E_VNx4SImode))
                {
                  x9 = XEXP (x6, 1);
                  x10 = XEXP (x9, 0);
                  if (rtx_equal_p (x10, operands[1])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2401 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2402 (insn, operands);
                }
              x9 = XEXP (x6, 1);
              x10 = XEXP (x9, 0);
              operands[3] = x10;
              if (!register_operand (operands[3], E_VNx4SImode))
                return NULL;
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2409 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2410 (insn, operands);

            case 3:
              x6 = XVECEXP (x5, 0, 1);
              x7 = XEXP (x6, 0);
              x8 = XEXP (x7, 0);
              operands[3] = x8;
              if (register_operand (operands[3], E_VNx2DImode))
                {
                  x9 = XEXP (x6, 1);
                  x10 = XEXP (x9, 0);
                  if (rtx_equal_p (x10, operands[1])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2403 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2404 (insn, operands);
                }
              x9 = XEXP (x6, 1);
              x10 = XEXP (x9, 0);
              operands[3] = x10;
              if (!register_operand (operands[3], E_VNx2DImode))
                return NULL;
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2411 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2412 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 1:
      if (!
#line 4643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_52 (insn, operands);

    case 2:
      if (!
#line 4643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_55 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_75 (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;
  switch (pattern21 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 0);
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case ASHIFT:
          switch (pattern279 (x2))
            {
            case 0:
              if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[3]))
   && (XOR != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_37 (insn, operands);

            case 1:
              if (!
#line 4591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && ((paradoxical_subreg_p (operands[1])
	&& rtx_equal_p (SUBREG_REG (operands[1]), operands[4]))
       || (REG_P (operands[1])
	   && REG_P (operands[4])
	   && REGNO (operands[1]) == REGNO (operands[4])))
   && (trunc_int_for_mode (GET_MODE_MASK (GET_MODE (operands[4]))
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[3]))
   && (XOR != PLUS
       || (GET_MODE_MASK (GET_MODE (operands[4]))
	   & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_41 (insn, operands);

            case 2:
              if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), SImode)
       == INTVAL (operands[4]))
   && (XOR != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_45 (insn, operands);

            case 3:
              if (!
#line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && pow2_or_zerop (UINTVAL (operands[3]) + 1)
   && (trunc_int_for_mode (UINTVAL (operands[3])
			   << INTVAL (operands[2]), DImode)
       == INTVAL (operands[4]))
   && (XOR != PLUS
       || (INTVAL (operands[4]) & INTVAL (operands[3])) == 0)))
                return NULL;
              return gen_split_49 (insn, operands);

            default:
              return NULL;
            }

        case XOR:
          if (GET_MODE (x4) != E_DImode
              || !register_operand (operands[0], E_DImode)
              || GET_MODE (x2) != E_DImode
              || GET_MODE (x3) != E_DImode)
            return NULL;
          x5 = XEXP (x4, 0);
          operands[3] = x5;
          if (!register_operand (operands[3], E_DImode))
            return NULL;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          if (!register_operand (operands[2], E_DImode))
            return NULL;
          x7 = XEXP (x3, 1);
          operands[1] = x7;
          if (!register_operand (operands[1], E_DImode))
            return NULL;
          x8 = XEXP (x2, 1);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 3646 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 3652 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0])))))
            return gen_split_115 (insn, operands);
          if (!rtx_equal_p (x8, operands[2])
              || !(
#line 3688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 3694 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0])))))
            return NULL;
          return gen_split_116 (insn, operands);

        case UNSPEC:
          switch (pattern258 (x2))
            {
            case 0:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2369 (insn, operands);

            case 1:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2370 (insn, operands);

            case 2:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2371 (insn, operands);

            case 3:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2372 (insn, operands);

            case 4:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2389 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2390 (insn, operands);

            case 5:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2391 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2392 (insn, operands);

            case 6:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2393 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2394 (insn, operands);

            case 7:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2395 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2396 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 1:
      if (!
#line 4643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_53 (insn, operands);

    case 2:
      if (!
#line 4643 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_56 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_76 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2013 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2023 (insn, operands);
}

static rtx_insn *
split_77 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1993 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2003 (insn, operands);
}

static rtx_insn *
split_78 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1973 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1983 (insn, operands);
}

static rtx_insn *
split_79 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1953 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1963 (insn, operands);
}

static rtx_insn *
split_80 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1933 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1943 (insn, operands);
}

static rtx_insn *
split_81 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1913 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1923 (insn, operands);
}

static rtx_insn *
split_82 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1893 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1903 (insn, operands);
}

static rtx_insn *
split_83 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1873 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2844 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1883 (insn, operands);
}

static rtx_insn *
split_84 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2012 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2022 (insn, operands);
}

static rtx_insn *
split_85 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1992 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2002 (insn, operands);
}

static rtx_insn *
split_86 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1972 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1982 (insn, operands);
}

static rtx_insn *
split_87 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1952 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1962 (insn, operands);
}

static rtx_insn *
split_88 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1932 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1942 (insn, operands);
}

static rtx_insn *
split_89 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1912 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1922 (insn, operands);
}

static rtx_insn *
split_90 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1892 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1902 (insn, operands);
}

static rtx_insn *
split_91 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1872 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1882 (insn, operands);
}

static rtx_insn *
split_92 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2011 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2021 (insn, operands);
}

static rtx_insn *
split_93 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1991 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2001 (insn, operands);
}

static rtx_insn *
split_94 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1971 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1981 (insn, operands);
}

static rtx_insn *
split_95 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1951 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1961 (insn, operands);
}

static rtx_insn *
split_96 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1931 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1941 (insn, operands);
}

static rtx_insn *
split_97 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1911 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1921 (insn, operands);
}

static rtx_insn *
split_98 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1891 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1901 (insn, operands);
}

static rtx_insn *
split_99 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1871 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1881 (insn, operands);
}

static rtx_insn *
split_100 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2010 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2020 (insn, operands);
}

static rtx_insn *
split_101 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1990 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2000 (insn, operands);
}

static rtx_insn *
split_102 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1970 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1980 (insn, operands);
}

static rtx_insn *
split_103 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1950 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1960 (insn, operands);
}

static rtx_insn *
split_104 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1930 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1940 (insn, operands);
}

static rtx_insn *
split_105 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1910 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1920 (insn, operands);
}

static rtx_insn *
split_106 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1890 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1900 (insn, operands);
}

static rtx_insn *
split_107 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1870 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1880 (insn, operands);
}

static rtx_insn *
split_108 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2009 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2019 (insn, operands);
}

static rtx_insn *
split_109 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1989 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1999 (insn, operands);
}

static rtx_insn *
split_110 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1969 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1979 (insn, operands);
}

static rtx_insn *
split_111 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1949 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1959 (insn, operands);
}

static rtx_insn *
split_112 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1929 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1939 (insn, operands);
}

static rtx_insn *
split_113 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1909 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1919 (insn, operands);
}

static rtx_insn *
split_114 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1889 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1899 (insn, operands);
}

static rtx_insn *
split_115 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1869 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1879 (insn, operands);
}

static rtx_insn *
split_116 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2008 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2018 (insn, operands);
}

static rtx_insn *
split_117 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1988 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1998 (insn, operands);
}

static rtx_insn *
split_118 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1968 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1978 (insn, operands);
}

static rtx_insn *
split_119 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1948 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1958 (insn, operands);
}

static rtx_insn *
split_120 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1928 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1938 (insn, operands);
}

static rtx_insn *
split_121 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1908 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1918 (insn, operands);
}

static rtx_insn *
split_122 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1888 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1898 (insn, operands);
}

static rtx_insn *
split_123 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  switch (pattern727 (x1))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1864 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1874 (insn, operands);

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1884 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1894 (insn, operands);

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1904 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1914 (insn, operands);

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1924 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1934 (insn, operands);

    case 4:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1944 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1954 (insn, operands);

    case 5:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1964 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1974 (insn, operands);

    case 6:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1984 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1994 (insn, operands);

    case 7:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2004 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2014 (insn, operands);

    case 8:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1865 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1875 (insn, operands);

    case 9:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1885 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1895 (insn, operands);

    case 10:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1905 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1915 (insn, operands);

    case 11:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1925 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1935 (insn, operands);

    case 12:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1945 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1955 (insn, operands);

    case 13:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1965 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1975 (insn, operands);

    case 14:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1985 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1995 (insn, operands);

    case 15:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2005 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2015 (insn, operands);

    case 16:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1866 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1876 (insn, operands);

    case 17:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1886 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1896 (insn, operands);

    case 18:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1906 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1916 (insn, operands);

    case 19:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1926 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1936 (insn, operands);

    case 20:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1946 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1956 (insn, operands);

    case 21:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1966 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1976 (insn, operands);

    case 22:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1986 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1996 (insn, operands);

    case 23:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2006 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2016 (insn, operands);

    case 24:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1867 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1877 (insn, operands);

    case 25:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1887 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1897 (insn, operands);

    case 26:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1907 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1917 (insn, operands);

    case 27:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1927 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1937 (insn, operands);

    case 28:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1947 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1957 (insn, operands);

    case 29:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1967 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1977 (insn, operands);

    case 30:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1987 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1997 (insn, operands);

    case 31:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2007 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8025 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2017 (insn, operands);

    case 32:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && ((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_1868 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !((
#line 8001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1878 (insn, operands);

    case 33:
      return split_122 (x1, insn);

    case 34:
      return split_121 (x1, insn);

    case 35:
      return split_120 (x1, insn);

    case 36:
      return split_119 (x1, insn);

    case 37:
      return split_118 (x1, insn);

    case 38:
      return split_117 (x1, insn);

    case 39:
      return split_116 (x1, insn);

    case 40:
      return split_115 (x1, insn);

    case 41:
      return split_114 (x1, insn);

    case 42:
      return split_113 (x1, insn);

    case 43:
      return split_112 (x1, insn);

    case 44:
      return split_111 (x1, insn);

    case 45:
      return split_110 (x1, insn);

    case 46:
      return split_109 (x1, insn);

    case 47:
      return split_108 (x1, insn);

    case 48:
      return split_107 (x1, insn);

    case 49:
      return split_106 (x1, insn);

    case 50:
      return split_105 (x1, insn);

    case 51:
      return split_104 (x1, insn);

    case 52:
      return split_103 (x1, insn);

    case 53:
      return split_102 (x1, insn);

    case 54:
      return split_101 (x1, insn);

    case 55:
      return split_100 (x1, insn);

    case 56:
      return split_99 (x1, insn);

    case 57:
      return split_98 (x1, insn);

    case 58:
      return split_97 (x1, insn);

    case 59:
      return split_96 (x1, insn);

    case 60:
      return split_95 (x1, insn);

    case 61:
      return split_94 (x1, insn);

    case 62:
      return split_93 (x1, insn);

    case 63:
      return split_92 (x1, insn);

    case 64:
      return split_91 (x1, insn);

    case 65:
      return split_90 (x1, insn);

    case 66:
      return split_89 (x1, insn);

    case 67:
      return split_88 (x1, insn);

    case 68:
      return split_87 (x1, insn);

    case 69:
      return split_86 (x1, insn);

    case 70:
      return split_85 (x1, insn);

    case 71:
      return split_84 (x1, insn);

    case 72:
      return split_83 (x1, insn);

    case 73:
      return split_82 (x1, insn);

    case 74:
      return split_81 (x1, insn);

    case 75:
      return split_80 (x1, insn);

    case 76:
      return split_79 (x1, insn);

    case 77:
      return split_78 (x1, insn);

    case 78:
      return split_77 (x1, insn);

    case 79:
      return split_76 (x1, insn);

    default:
      return NULL;
    }
}

static rtx_insn *
split_124 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  switch (pattern924 (x1, GTU))
    {
    case 0:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1573 (insn, operands);

    case 1:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1583 (insn, operands);

    case 2:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1613 (insn, operands);

    case 3:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1593 (insn, operands);

    case 4:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1623 (insn, operands);

    case 5:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1643 (insn, operands);

    case 6:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1603 (insn, operands);

    case 7:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1633 (insn, operands);

    case 8:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1653 (insn, operands);

    case 9:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1663 (insn, operands);

    case 10:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1673 (insn, operands);

    case 11:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1683 (insn, operands);

    case 12:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1713 (insn, operands);

    case 13:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1693 (insn, operands);

    case 14:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1723 (insn, operands);

    case 15:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1743 (insn, operands);

    case 16:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1703 (insn, operands);

    case 17:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1733 (insn, operands);

    case 18:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1753 (insn, operands);

    case 19:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1763 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_125 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx_insn *res ATTRIBUTE_UNUSED;
  switch (pattern924 (x1, GEU))
    {
    case 0:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1572 (insn, operands);

    case 1:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1582 (insn, operands);

    case 2:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1612 (insn, operands);

    case 3:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1592 (insn, operands);

    case 4:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1622 (insn, operands);

    case 5:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1642 (insn, operands);

    case 6:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1602 (insn, operands);

    case 7:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1632 (insn, operands);

    case 8:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1652 (insn, operands);

    case 9:
      if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1662 (insn, operands);

    case 10:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1672 (insn, operands);

    case 11:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1682 (insn, operands);

    case 12:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1712 (insn, operands);

    case 13:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1692 (insn, operands);

    case 14:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1722 (insn, operands);

    case 15:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1742 (insn, operands);

    case 16:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1702 (insn, operands);

    case 17:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1732 (insn, operands);

    case 18:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1752 (insn, operands);

    case 19:
      if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1762 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_126 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_VNx16BImode))
    return NULL;
  x5 = XVECEXP (x3, 0, 2);
  if (!aarch64_sve_ptrue_flag (x5, E_SImode))
    return NULL;
  x6 = XVECEXP (x3, 0, 3);
  x7 = XVECEXP (x6, 0, 1);
  if (!aarch64_sve_ptrue_flag (x7, E_SImode))
    return NULL;
  switch (XINT (x6, 1))
    {
    case 119:
      x8 = XVECEXP (x3, 0, 1);
      operands[4] = x8;
      operands[5] = x5;
      x9 = XVECEXP (x6, 0, 0);
      operands[6] = x9;
      operands[7] = x7;
      x10 = XVECEXP (x6, 0, 2);
      switch (GET_CODE (x10))
        {
        case LT:
          switch (pattern920 (x1, LT))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1564 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1574 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1604 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1584 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1614 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1634 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1594 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1624 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1644 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1654 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1664 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1674 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1704 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1684 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1714 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1734 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1694 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1724 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1744 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1754 (insn, operands);

            default:
              return NULL;
            }

        case LE:
          switch (pattern920 (x1, LE))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1565 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1575 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1605 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1585 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1615 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1635 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1595 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1625 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1645 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1655 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1665 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1675 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1705 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1685 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1715 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1735 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1695 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1725 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1745 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1755 (insn, operands);

            default:
              return NULL;
            }

        case EQ:
          switch (pattern920 (x1, EQ))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1566 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1576 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1606 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1586 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1616 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1636 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1596 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1626 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1646 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1656 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1666 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1676 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1706 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1686 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1716 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1736 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1696 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1726 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1746 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1756 (insn, operands);

            default:
              return NULL;
            }

        case NE:
          switch (pattern920 (x1, NE))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1567 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1577 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1607 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1587 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1617 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1637 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1597 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1627 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1647 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1657 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1667 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1677 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1707 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1687 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1717 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1737 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1697 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1727 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1747 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1757 (insn, operands);

            default:
              return NULL;
            }

        case GE:
          switch (pattern920 (x1, GE))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1568 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1578 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1608 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1588 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1618 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1638 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1598 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1628 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1648 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1658 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1668 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1678 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1708 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1688 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1718 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1738 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1698 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1728 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1748 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1758 (insn, operands);

            default:
              return NULL;
            }

        case GT:
          switch (pattern920 (x1, GT))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1569 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1579 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1609 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1589 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1619 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1639 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1599 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1629 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1649 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1659 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1669 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1679 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1709 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1689 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1719 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1739 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1699 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1729 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1749 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1759 (insn, operands);

            default:
              return NULL;
            }

        case LTU:
          switch (pattern924 (x1, LTU))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1570 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1580 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1610 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1590 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1620 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1640 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1600 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1630 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1650 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1660 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1670 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1680 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1710 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1690 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1720 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1740 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1700 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1730 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1750 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1760 (insn, operands);

            default:
              return NULL;
            }

        case LEU:
          switch (pattern924 (x1, LEU))
            {
            case 0:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1571 (insn, operands);

            case 1:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1581 (insn, operands);

            case 2:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1611 (insn, operands);

            case 3:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1591 (insn, operands);

            case 4:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1621 (insn, operands);

            case 5:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1641 (insn, operands);

            case 6:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1601 (insn, operands);

            case 7:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1631 (insn, operands);

            case 8:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1651 (insn, operands);

            case 9:
              if (!(
#line 7813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7818 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1661 (insn, operands);

            case 10:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1671 (insn, operands);

            case 11:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1681 (insn, operands);

            case 12:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1711 (insn, operands);

            case 13:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1691 (insn, operands);

            case 14:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1721 (insn, operands);

            case 15:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1741 (insn, operands);

            case 16:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1701 (insn, operands);

            case 17:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1731 (insn, operands);

            case 18:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1751 (insn, operands);

            case 19:
              if (!(
#line 7842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7847 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1761 (insn, operands);

            default:
              return NULL;
            }

        case GEU:
          return split_125 (x1, insn);

        case GTU:
          return split_124 (x1, insn);

        case UNSPEC:
          if (XVECLEN (x10, 0) != 2)
            return NULL;
          x11 = XVECEXP (x10, 0, 0);
          operands[2] = x11;
          x12 = XVECEXP (x10, 0, 1);
          operands[3] = x12;
          switch (XINT (x10, 1))
            {
            case 433:
              switch (pattern941 (x1, 433))
                {
                case 0:
                  if (!(
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2496 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2441 (insn, operands);

                case 1:
                  if (!(
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2496 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2443 (insn, operands);

                case 2:
                  if (!(
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2445 (insn, operands);

                case 3:
                  if (!(
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2447 (insn, operands);

                default:
                  return NULL;
                }

            case 434:
              switch (pattern941 (x1, 434))
                {
                case 0:
                  if (!(
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2496 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2442 (insn, operands);

                case 1:
                  if (!(
#line 2493 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2496 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2444 (insn, operands);

                case 2:
                  if (!(
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2446 (insn, operands);

                case 3:
                  if (!(
#line 2520 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2448 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 289:
      if (GET_MODE (x6) != E_VNx16BImode)
        return NULL;
      x8 = XVECEXP (x3, 0, 1);
      operands[2] = x8;
      operands[3] = x5;
      x9 = XVECEXP (x6, 0, 0);
      operands[4] = x9;
      operands[5] = x7;
      switch (pattern925 (x1))
        {
        case 0:
          if (!(
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2123 (insn, operands);

        case 1:
          if (!(
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2128 (insn, operands);

        default:
          return NULL;
        }

    case 290:
      x8 = XVECEXP (x3, 0, 1);
      operands[2] = x8;
      operands[3] = x5;
      x9 = XVECEXP (x6, 0, 0);
      operands[4] = x9;
      operands[5] = x7;
      switch (pattern910 (x1))
        {
        case 0:
          if (!(
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2124 (insn, operands);

        case 1:
          if (!(
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2125 (insn, operands);

        case 2:
          if (!(
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2126 (insn, operands);

        case 3:
          if (!(
#line 9760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9764 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2127 (insn, operands);

        case 4:
          if (!(
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2129 (insn, operands);

        case 5:
          if (!(
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2130 (insn, operands);

        case 6:
          if (!(
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2131 (insn, operands);

        case 7:
          if (!(
#line 9785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2132 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_127 (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 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return NULL;
  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 UNSPEC:
      if (XVECLEN (x6, 0) != 3
          || XINT (x6, 1) != 119)
        return NULL;
      x7 = XVECEXP (x6, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return NULL;
      switch (pattern612 (x1))
        {
        case 0:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1764 (insn, operands);

        case 1:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1774 (insn, operands);

        case 2:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1804 (insn, operands);

        case 3:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1784 (insn, operands);

        case 4:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1814 (insn, operands);

        case 5:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1834 (insn, operands);

        case 6:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1794 (insn, operands);

        case 7:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1824 (insn, operands);

        case 8:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1844 (insn, operands);

        case 9:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1854 (insn, operands);

        case 10:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1765 (insn, operands);

        case 11:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1775 (insn, operands);

        case 12:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1805 (insn, operands);

        case 13:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1785 (insn, operands);

        case 14:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1815 (insn, operands);

        case 15:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1835 (insn, operands);

        case 16:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1795 (insn, operands);

        case 17:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1825 (insn, operands);

        case 18:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1845 (insn, operands);

        case 19:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1855 (insn, operands);

        case 20:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1766 (insn, operands);

        case 21:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1776 (insn, operands);

        case 22:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1806 (insn, operands);

        case 23:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1786 (insn, operands);

        case 24:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1816 (insn, operands);

        case 25:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1836 (insn, operands);

        case 26:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1796 (insn, operands);

        case 27:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1826 (insn, operands);

        case 28:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1846 (insn, operands);

        case 29:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1856 (insn, operands);

        case 30:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1767 (insn, operands);

        case 31:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1777 (insn, operands);

        case 32:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1807 (insn, operands);

        case 33:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1787 (insn, operands);

        case 34:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1817 (insn, operands);

        case 35:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1837 (insn, operands);

        case 36:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1797 (insn, operands);

        case 37:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1827 (insn, operands);

        case 38:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1847 (insn, operands);

        case 39:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1857 (insn, operands);

        case 40:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1768 (insn, operands);

        case 41:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1778 (insn, operands);

        case 42:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1808 (insn, operands);

        case 43:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1788 (insn, operands);

        case 44:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1818 (insn, operands);

        case 45:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1838 (insn, operands);

        case 46:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1798 (insn, operands);

        case 47:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1828 (insn, operands);

        case 48:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1848 (insn, operands);

        case 49:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1858 (insn, operands);

        case 50:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1769 (insn, operands);

        case 51:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1779 (insn, operands);

        case 52:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1809 (insn, operands);

        case 53:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1789 (insn, operands);

        case 54:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1819 (insn, operands);

        case 55:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1839 (insn, operands);

        case 56:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1799 (insn, operands);

        case 57:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1829 (insn, operands);

        case 58:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1849 (insn, operands);

        case 59:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1859 (insn, operands);

        case 60:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1770 (insn, operands);

        case 61:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1780 (insn, operands);

        case 62:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1810 (insn, operands);

        case 63:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1790 (insn, operands);

        case 64:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1820 (insn, operands);

        case 65:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1840 (insn, operands);

        case 66:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1800 (insn, operands);

        case 67:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1830 (insn, operands);

        case 68:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1850 (insn, operands);

        case 69:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1860 (insn, operands);

        case 70:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1771 (insn, operands);

        case 71:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1781 (insn, operands);

        case 72:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1811 (insn, operands);

        case 73:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1791 (insn, operands);

        case 74:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1821 (insn, operands);

        case 75:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1841 (insn, operands);

        case 76:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1801 (insn, operands);

        case 77:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1831 (insn, operands);

        case 78:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1851 (insn, operands);

        case 79:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1861 (insn, operands);

        case 80:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1772 (insn, operands);

        case 81:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1782 (insn, operands);

        case 82:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1812 (insn, operands);

        case 83:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1792 (insn, operands);

        case 84:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1822 (insn, operands);

        case 85:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1842 (insn, operands);

        case 86:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1802 (insn, operands);

        case 87:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1832 (insn, operands);

        case 88:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1852 (insn, operands);

        case 89:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1862 (insn, operands);

        case 90:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1773 (insn, operands);

        case 91:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1783 (insn, operands);

        case 92:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1813 (insn, operands);

        case 93:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1793 (insn, operands);

        case 94:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1823 (insn, operands);

        case 95:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1843 (insn, operands);

        case 96:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1803 (insn, operands);

        case 97:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1833 (insn, operands);

        case 98:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1853 (insn, operands);

        case 99:
          if (!(
#line 7870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1863 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x8 = XEXP (x6, 0);
      if (pattern354 (x8) != 0)
        return NULL;
      switch (pattern650 (x1))
        {
        case 0:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2045 (insn, operands);

        case 1:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2051 (insn, operands);

        case 2:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2057 (insn, operands);

        case 3:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2063 (insn, operands);

        case 4:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2069 (insn, operands);

        case 5:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2075 (insn, operands);

        case 6:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2046 (insn, operands);

        case 7:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2052 (insn, operands);

        case 8:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2058 (insn, operands);

        case 9:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2064 (insn, operands);

        case 10:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2070 (insn, operands);

        case 11:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2076 (insn, operands);

        case 12:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2047 (insn, operands);

        case 13:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2053 (insn, operands);

        case 14:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2059 (insn, operands);

        case 15:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2065 (insn, operands);

        case 16:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2071 (insn, operands);

        case 17:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2077 (insn, operands);

        case 18:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2048 (insn, operands);

        case 19:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2054 (insn, operands);

        case 20:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2060 (insn, operands);

        case 21:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2066 (insn, operands);

        case 22:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2072 (insn, operands);

        case 23:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2078 (insn, operands);

        case 24:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2049 (insn, operands);

        case 25:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2055 (insn, operands);

        case 26:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2061 (insn, operands);

        case 27:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2067 (insn, operands);

        case 28:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2073 (insn, operands);

        case 29:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2079 (insn, operands);

        case 30:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2050 (insn, operands);

        case 31:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2056 (insn, operands);

        case 32:
          if (!(
#line 8163 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2062 (insn, operands);

        case 33:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2068 (insn, operands);

        case 34:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2074 (insn, operands);

        case 35:
          if (!(
#line 8201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2080 (insn, operands);

        case 36:
          if (!(
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2081 (insn, operands);

        case 37:
          if (!(
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2082 (insn, operands);

        case 38:
          if (!(
#line 8239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2083 (insn, operands);

        case 39:
          if (!(
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2084 (insn, operands);

        case 40:
          if (!(
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2085 (insn, operands);

        case 41:
          if (!(
#line 8276 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8278 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2086 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_128 (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;
  switch (XVECLEN (x1, 0))
    {
    case 2:
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != SET)
        return NULL;
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case EQ:
          switch (pattern169 (x1))
            {
            case 0:
              if (!(
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed) && 
#line 4044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_21 (insn, operands);

            case 1:
              if (!(
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed) && 
#line 4044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_23 (insn, operands);

            default:
              return NULL;
            }

        case NE:
          switch (pattern169 (x1))
            {
            case 0:
              if (!(
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed) && 
#line 4044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_22 (insn, operands);

            case 1:
              if (!(
#line 4040 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed) && 
#line 4044 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_24 (insn, operands);

            default:
              return NULL;
            }

        case PLUS:
          x4 = XVECEXP (x1, 0, 1);
          if (pattern184 (x4, E_CCmode, 66) != 0)
            return NULL;
          x5 = XEXP (x2, 0);
          operands[0] = x5;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          x7 = XEXP (x3, 0);
          switch (GET_CODE (x7))
            {
            case SMAX:
              switch (pattern654 (x3))
                {
                case 0:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_25 (insn, operands);

                case 1:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_29 (insn, operands);

                default:
                  return NULL;
                }

            case SMIN:
              switch (pattern654 (x3))
                {
                case 0:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_26 (insn, operands);

                case 1:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_30 (insn, operands);

                default:
                  return NULL;
                }

            case UMAX:
              switch (pattern654 (x3))
                {
                case 0:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_27 (insn, operands);

                case 1:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_31 (insn, operands);

                default:
                  return NULL;
                }

            case UMIN:
              switch (pattern654 (x3))
                {
                case 0:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_28 (insn, operands);

                case 1:
                  if (!(
#line 4443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)) && 
#line 4445 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_32 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case COMPARE:
          if (GET_MODE (x3) != E_CC_NZmode)
            return NULL;
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) != AND)
            return NULL;
          x6 = XEXP (x3, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return NULL;
          x5 = XEXP (x2, 0);
          if (GET_CODE (x5) != REG
              || REGNO (x5) != 66
              || GET_MODE (x5) != E_CC_NZmode)
            return NULL;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return NULL;
          x8 = XEXP (x4, 0);
          if (!register_operand (x8, E_SImode))
            return NULL;
          x9 = XEXP (x7, 0);
          switch (GET_CODE (x9))
            {
            case REG:
            case SUBREG:
              operands[0] = x9;
              x10 = XEXP (x7, 1);
              operands[1] = x10;
              operands[2] = x8;
              switch (GET_MODE (x7))
                {
                case E_SImode:
                  if (!register_operand (operands[0], E_SImode)
                      || !aarch64_mov_imm_operand (operands[1], E_SImode))
                    return NULL;
                  return gen_split_61 (insn, operands);

                case E_DImode:
                  if (!register_operand (operands[0], E_DImode)
                      || !aarch64_mov_imm_operand (operands[1], E_DImode))
                    return NULL;
                  return gen_split_62 (insn, operands);

                default:
                  return NULL;
                }

            case ASHIFT:
              switch (pattern740 (x1))
                {
                case 0:
                  return gen_split_63 (insn, operands);

                case 1:
                  return gen_split_67 (insn, operands);

                default:
                  return NULL;
                }

            case ASHIFTRT:
              switch (pattern740 (x1))
                {
                case 0:
                  return gen_split_64 (insn, operands);

                case 1:
                  return gen_split_68 (insn, operands);

                default:
                  return NULL;
                }

            case LSHIFTRT:
              switch (pattern740 (x1))
                {
                case 0:
                  return gen_split_65 (insn, operands);

                case 1:
                  return gen_split_69 (insn, operands);

                default:
                  return NULL;
                }

            case ROTATERT:
              switch (pattern740 (x1))
                {
                case 0:
                  return gen_split_66 (insn, operands);

                case 1:
                  return gen_split_70 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case NEG:
          switch (pattern170 (x1))
            {
            case 0:
              if (!(
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_131 (insn, operands);

            case 1:
              if (!(
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_132 (insn, operands);

            case 2:
              if (!(
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_133 (insn, operands);

            case 3:
              if (!(
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_134 (insn, operands);

            case 4:
              if (!(
#line 6465 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_135 (insn, operands);

            case 5:
              if (!(
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6530 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_136 (insn, operands);

            case 6:
              if (!(
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6530 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_137 (insn, operands);

            case 7:
              if (!(
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6530 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_138 (insn, operands);

            case 8:
              if (!(
#line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6530 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_139 (insn, operands);

            case 9:
              if (!(
#line 6616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6618 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_140 (insn, operands);

            default:
              return NULL;
            }

        case UNSPEC:
          if (XVECLEN (x3, 0) != 4
              || pattern275 (x2) != 0)
            return NULL;
          x11 = XVECEXP (x3, 0, 2);
          if (XWINT (x11, 0) == 1L)
            {
              x12 = XVECEXP (x3, 0, 3);
              switch (GET_CODE (x12))
                {
                case CONST:
                  switch (pattern723 (x1))
                    {
                    case 0:
                      if ((
#line 979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 983 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_428 (insn, operands);
                      break;

                    case 1:
                      if ((
#line 1031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1035 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_432 (insn, operands);
                      break;

                    default:
                      break;
                    }
                  break;

                case SUBREG:
                  switch (pattern725 (x1))
                    {
                    case 0:
                      if ((
#line 1005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1009 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_429 (insn, operands);
                      break;

                    case 1:
                      if ((
#line 1005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1009 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_430 (insn, operands);
                      break;

                    case 2:
                      if ((
#line 1005 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1009 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_431 (insn, operands);
                      break;

                    case 3:
                      if ((
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_433 (insn, operands);
                      break;

                    case 4:
                      if ((
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_434 (insn, operands);
                      break;

                    case 5:
                      if ((
#line 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1061 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_435 (insn, operands);
                      break;

                    default:
                      break;
                    }
                  break;

                case UNSPEC:
                  res = split_123 (x1, insn);
                  if (res != NULL_RTX)
                    return res;
                  break;

                default:
                  break;
                }
            }
          x12 = XVECEXP (x3, 0, 3);
          if (GET_CODE (x12) != UNSPEC
              || XVECLEN (x12, 0) != 3)
            return NULL;
          return split_126 (x1, insn);

        case VEC_DUPLICATE:
          switch (pattern175 (x1))
            {
            case 0:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_661 (insn, operands);

            case 1:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_662 (insn, operands);

            case 2:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_663 (insn, operands);

            case 3:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_664 (insn, operands);

            case 4:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_665 (insn, operands);

            case 5:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_666 (insn, operands);

            case 6:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_667 (insn, operands);

            case 7:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_668 (insn, operands);

            case 8:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_669 (insn, operands);

            case 9:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_670 (insn, operands);

            case 10:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_671 (insn, operands);

            case 11:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_672 (insn, operands);

            case 12:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_673 (insn, operands);

            case 13:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_674 (insn, operands);

            case 14:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_675 (insn, operands);

            case 15:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_676 (insn, operands);

            case 16:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_677 (insn, operands);

            case 17:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_678 (insn, operands);

            case 18:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_679 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          return split_127 (x1, insn);

        default:
          return NULL;
        }

    case 4:
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != SET)
        return NULL;
      x13 = XVECEXP (x1, 0, 3);
      if (GET_CODE (x13) != CLOBBER)
        return NULL;
      x14 = XEXP (x13, 0);
      if (!scratch_operand (x14, E_SImode))
        return NULL;
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case UNSPEC_VOLATILE:
          switch (pattern362 (x1))
            {
            case 0:
              if (!
#line 62 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_242 (insn, operands);

            case 1:
              if (!
#line 62 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_243 (insn, operands);

            case 2:
              if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_244 (insn, operands);

            case 3:
              if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_245 (insn, operands);

            case 4:
              if (!
#line 110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_246 (insn, operands);

            case 5:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_251 (insn, operands);

            case 6:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_256 (insn, operands);

            case 7:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_261 (insn, operands);

            case 8:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_266 (insn, operands);

            case 9:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_252 (insn, operands);

            case 10:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_257 (insn, operands);

            case 11:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_262 (insn, operands);

            case 12:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_267 (insn, operands);

            case 13:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_253 (insn, operands);

            case 14:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_258 (insn, operands);

            case 15:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_263 (insn, operands);

            case 16:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_268 (insn, operands);

            case 17:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_254 (insn, operands);

            case 18:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_259 (insn, operands);

            case 19:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_264 (insn, operands);

            case 20:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_269 (insn, operands);

            case 21:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_255 (insn, operands);

            case 22:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_260 (insn, operands);

            case 23:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_265 (insn, operands);

            case 24:
              if (!
#line 350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_270 (insn, operands);

            case 25:
              if (!
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_271 (insn, operands);

            case 26:
              if (!
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_272 (insn, operands);

            case 27:
              if (!
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_273 (insn, operands);

            case 28:
              if (!
#line 406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_274 (insn, operands);

            default:
              return NULL;
            }

        case SUBREG:
        case MEM:
          operands[1] = x3;
          if (pattern461 (x1, 22, 2) != 0)
            return NULL;
          x5 = XEXP (x2, 0);
          operands[0] = x5;
          x4 = XVECEXP (x1, 0, 1);
          x15 = XEXP (x4, 1);
          x16 = XVECEXP (x15, 0, 0);
          operands[2] = x16;
          x17 = XVECEXP (x15, 0, 1);
          operands[3] = x17;
          if (!const_int_operand (operands[3], E_SImode))
            return NULL;
          operands[4] = x14;
          switch (pattern891 (x4))
            {
            case 0:
              if (!
#line 229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_247 (insn, operands);

            case 1:
              if (!
#line 229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_248 (insn, operands);

            case 2:
              if (!
#line 229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_249 (insn, operands);

            case 3:
              if (!
#line 229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_250 (insn, operands);

            default:
              return NULL;
            }

        case PLUS:
          switch (pattern363 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_299 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_304 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_309 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_314 (insn, operands);

            default:
              return NULL;
            }

        case MINUS:
          switch (pattern363 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_300 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_305 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_310 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_315 (insn, operands);

            default:
              return NULL;
            }

        case IOR:
          switch (pattern364 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_301 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_306 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_311 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_316 (insn, operands);

            default:
              return NULL;
            }

        case XOR:
          switch (pattern364 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_302 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_307 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_312 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_317 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          switch (pattern364 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_303 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_308 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_313 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_318 (insn, operands);

            default:
              return NULL;
            }

        case NOT:
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) != AND
              || pattern461 (x1, 25, 3) != 0)
            return NULL;
          x5 = XEXP (x2, 0);
          operands[0] = x5;
          x9 = XEXP (x7, 0);
          operands[1] = x9;
          x10 = XEXP (x7, 1);
          operands[2] = x10;
          x4 = XVECEXP (x1, 0, 1);
          x15 = XEXP (x4, 1);
          x18 = XVECEXP (x15, 0, 2);
          operands[3] = x18;
          if (!const_int_operand (operands[3], E_SImode))
            return NULL;
          operands[4] = x14;
          switch (pattern808 (x1))
            {
            case 0:
              if (!
#line 634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_319 (insn, operands);

            case 1:
              if (!
#line 634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_320 (insn, operands);

            case 2:
              if (!
#line 634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_321 (insn, operands);

            case 3:
              if (!
#line 634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_322 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 5:
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != SET
          || pattern37 (x1, 25, 2) != 0)
        return NULL;
      x19 = XVECEXP (x1, 0, 4);
      if (GET_CODE (x19) != CLOBBER)
        return NULL;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x3 = XEXP (x2, 1);
      operands[1] = x3;
      x4 = XVECEXP (x1, 0, 1);
      x15 = XEXP (x4, 1);
      x17 = XVECEXP (x15, 0, 1);
      operands[3] = x17;
      if (!const_int_operand (operands[3], E_SImode))
        return NULL;
      x13 = XVECEXP (x1, 0, 3);
      x14 = XEXP (x13, 0);
      operands[4] = x14;
      switch (pattern874 (x1))
        {
        case 0:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_275 (insn, operands);

        case 1:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_280 (insn, operands);

        case 2:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_285 (insn, operands);

        case 3:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_290 (insn, operands);

        case 4:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_276 (insn, operands);

        case 5:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_281 (insn, operands);

        case 6:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_286 (insn, operands);

        case 7:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_291 (insn, operands);

        case 8:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_277 (insn, operands);

        case 9:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_282 (insn, operands);

        case 10:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_287 (insn, operands);

        case 11:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_292 (insn, operands);

        case 12:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_278 (insn, operands);

        case 13:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_283 (insn, operands);

        case 14:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_288 (insn, operands);

        case 15:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_293 (insn, operands);

        case 16:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_279 (insn, operands);

        case 17:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_284 (insn, operands);

        case 18:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_289 (insn, operands);

        case 19:
          if (!
#line 510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_294 (insn, operands);

        case 20:
          if (!
#line 557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_295 (insn, operands);

        case 21:
          if (!
#line 557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_296 (insn, operands);

        case 22:
          if (!
#line 557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_297 (insn, operands);

        case 23:
          if (!
#line 557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_298 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_129 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case IF_THEN_ELSE:
      x3 = XEXP (x2, 1);
      if (GET_CODE (x3) != LABEL_REF)
        return NULL;
      x4 = XEXP (x2, 2);
      if (GET_CODE (x4) != PC)
        return NULL;
      x5 = XEXP (x1, 0);
      if (GET_CODE (x5) != PC)
        return NULL;
      x6 = XEXP (x3, 0);
      operands[2] = x6;
      x7 = XEXP (x2, 0);
      switch (GET_CODE (x7))
        {
        case EQ:
          switch (pattern444 (x2))
            {
            case 0:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_1 (insn, operands);

            case 1:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_3 (insn, operands);

            case 2:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_5 (insn, operands);

            case 3:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_7 (insn, operands);

            default:
              return NULL;
            }

        case NE:
          switch (pattern444 (x2))
            {
            case 0:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_2 (insn, operands);

            case 1:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_4 (insn, operands);

            case 2:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_6 (insn, operands);

            case 3:
              if (!((
#line 715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_8 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_POLY_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] = x2;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      return split_1 (x1, insn);

    case PLUS:
      return split_72 (x1, insn);

    case ZERO_EXTEND:
      if (GET_MODE (x2) != E_DImode)
        return NULL;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      if (!register_operand (operands[0], E_DImode))
        return NULL;
      x7 = XEXP (x2, 0);
      if (GET_MODE (x7) != E_SImode)
        return NULL;
      switch (GET_CODE (x7))
        {
        case PLUS:
          x8 = XEXP (x7, 0);
          operands[1] = x8;
          if (!register_operand (operands[1], E_SImode))
            return NULL;
          x9 = XEXP (x7, 1);
          operands[2] = x9;
          if (!aarch64_pluslong_strict_immedate (operands[2], E_SImode)
              || !
#line 2203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(epilogue_completed))
            return NULL;
          return gen_split_20 (insn, operands);

        case US_PLUS:
          switch (pattern445 (x7))
            {
            case 0:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2150 (insn, operands);

            case 1:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2152 (insn, operands);

            case 2:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2154 (insn, operands);

            case 3:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2156 (insn, operands);

            default:
              return NULL;
            }

        case US_MINUS:
          switch (pattern446 (x7))
            {
            case 0:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2183 (insn, operands);

            case 1:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2185 (insn, operands);

            case 2:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2187 (insn, operands);

            case 3:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2189 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case AND:
      return split_73 (x1, insn);

    case IOR:
      return split_74 (x1, insn);

    case XOR:
      return split_75 (x1, insn);

    case NOT:
      x7 = XEXP (x2, 0);
      if (GET_CODE (x7) != XOR)
        return NULL;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      switch (pattern183 (x2))
        {
        case 0:
          if (!
#line 4759 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(reload_completed && FP_REGNUM_P (REGNO (operands[0]))))
            return NULL;
          return gen_split_57 (insn, operands);

        case 1:
          if (!
#line 4759 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(reload_completed && FP_REGNUM_P (REGNO (operands[0]))))
            return NULL;
          return gen_split_58 (insn, operands);

        default:
          return NULL;
        }

    case CTZ:
      switch (pattern2 (x1))
        {
        case 0:
          if (!
#line 4979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(reload_completed))
            return NULL;
          return gen_split_59 (insn, operands);

        case 1:
          if (!
#line 4979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(reload_completed))
            return NULL;
          return gen_split_60 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFT:
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x7 = XEXP (x2, 0);
      operands[1] = x7;
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case SUBREG:
        case TRUNCATE:
          switch (pattern24 (x2))
            {
            case 0:
              if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_71 (insn, operands);

            case 1:
              if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_75 (insn, operands);

            default:
              return NULL;
            }

        case MINUS:
          if (GET_MODE (x3) != E_QImode)
            return NULL;
          x6 = XEXP (x3, 0);
          operands[2] = x6;
          if (!const_int_operand (operands[2], E_VOIDmode))
            return NULL;
          x10 = XEXP (x3, 1);
          if (subreg_lowpart_operator (x10, E_VOIDmode))
            {
              switch (pattern541 (x2))
                {
                case 0:
                  if ((
#line 5228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5231 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                    return gen_split_79 (insn, operands);
                  break;

                case 1:
                  if ((
#line 5228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5231 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                    return gen_split_80 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          operands[3] = x10;
          if (!register_operand (operands[3], E_QImode))
            return NULL;
          switch (pattern1 (x2))
            {
            case 0:
              if (!(
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_81 (insn, operands);

            case 1:
              if (!(
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_84 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case ASHIFTRT:
      switch (pattern25 (x1))
        {
        case 0:
          if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_72 (insn, operands);

        case 1:
          if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_76 (insn, operands);

        case 2:
          if (!(
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_82 (insn, operands);

        case 3:
          if (!(
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_85 (insn, operands);

        case 4:
          if (!
#line 5383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_89 (insn, operands);

        case 5:
          if (!
#line 5398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_90 (insn, operands);

        default:
          return NULL;
        }

    case LSHIFTRT:
      switch (pattern25 (x1))
        {
        case 0:
          if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_73 (insn, operands);

        case 1:
          if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_77 (insn, operands);

        case 2:
          if (!(
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_83 (insn, operands);

        case 3:
          if (!(
#line 5273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_86 (insn, operands);

        case 4:
          if (!
#line 5335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_87 (insn, operands);

        case 5:
          if (!
#line 5350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_88 (insn, operands);

        default:
          return NULL;
        }

    case ROTATERT:
      x3 = XEXP (x2, 1);
      if (!subreg_lowpart_operator (x3, E_VOIDmode))
        return NULL;
      operands[4] = x3;
      x6 = XEXP (x3, 0);
      if (GET_CODE (x6) != NEG
          || GET_MODE (x6) != E_SImode)
        return NULL;
      x11 = XEXP (x6, 0);
      if (GET_CODE (x11) != AND
          || GET_MODE (x11) != E_SImode)
        return NULL;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x7 = XEXP (x2, 0);
      operands[1] = x7;
      switch (pattern22 (x2))
        {
        case 0:
          if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_74 (insn, operands);

        case 1:
          if (!(
#line 5203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_78 (insn, operands);

        default:
          return NULL;
        }

    case ZERO_EXTRACT:
      if (GET_MODE (x2) != E_DImode)
        return NULL;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      if (!register_operand (operands[0], E_DImode))
        return NULL;
      x7 = XEXP (x2, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_DImode))
        return NULL;
      x3 = XEXP (x2, 1);
      operands[2] = x3;
      if (!aarch64_simd_shift_imm_offset_di (operands[2], E_VOIDmode))
        return NULL;
      x4 = XEXP (x2, 2);
      operands[3] = x4;
      if (!aarch64_simd_shift_imm_di (operands[3], E_VOIDmode)
          || !
#line 5671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]), 1,
	     GET_MODE_BITSIZE (DImode) - 1)
   && (INTVAL (operands[2]) + INTVAL (operands[3]))
       == GET_MODE_BITSIZE (SImode)))
        return NULL;
      return gen_split_91 (insn, operands);

    case VEC_SELECT:
      return split_71 (x1, insn);

    case UNSPEC:
      return split_70 (x1, insn);

    case TRUNCATE:
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x7 = XEXP (x2, 0);
      operands[1] = x7;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8QImode:
          if (!register_operand (operands[0], E_VNx8QImode)
              || GET_MODE (x2) != E_VNx8QImode
              || !register_operand (operands[1], E_VNx8HImode)
              || !(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_688 (insn, operands);

        case E_VNx4QImode:
          switch (pattern281 (x2))
            {
            case 0:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_689 (insn, operands);

            case 1:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_691 (insn, operands);

            default:
              return NULL;
            }

        case E_VNx2QImode:
          switch (pattern282 (x2))
            {
            case 0:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_690 (insn, operands);

            case 1:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_693 (insn, operands);

            case 2:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_695 (insn, operands);

            default:
              return NULL;
            }

        case E_VNx4HImode:
          if (!register_operand (operands[0], E_VNx4HImode)
              || GET_MODE (x2) != E_VNx4HImode
              || !register_operand (operands[1], E_VNx4SImode)
              || !(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_692 (insn, operands);

        case E_VNx2HImode:
          switch (pattern283 (x2))
            {
            case 0:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_694 (insn, operands);

            case 1:
              if (!(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_696 (insn, operands);

            default:
              return NULL;
            }

        case E_VNx2SImode:
          if (!register_operand (operands[0], E_VNx2SImode)
              || GET_MODE (x2) != E_VNx2SImode
              || !register_operand (operands[1], E_VNx2DImode)
              || !(
#line 3191 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 3193 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_697 (insn, operands);

        default:
          return NULL;
        }

    case SS_PLUS:
      switch (pattern28 (x1))
        {
        case 0:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2134 (insn, operands);

        case 1:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2137 (insn, operands);

        case 2:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2140 (insn, operands);

        case 3:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2143 (insn, operands);

        case 4:
          if (!(
#line 10289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10293 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2158 (insn, operands);

        case 5:
          if (!(
#line 10328 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10332 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2161 (insn, operands);

        case 6:
          if (!(
#line 10369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10373 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2164 (insn, operands);

        default:
          return NULL;
        }

    case US_PLUS:
      switch (pattern28 (x1))
        {
        case 0:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2135 (insn, operands);

        case 1:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2138 (insn, operands);

        case 2:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2141 (insn, operands);

        case 3:
          if (!(
#line 10182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2144 (insn, operands);

        case 4:
          if (!(
#line 10289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10293 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2159 (insn, operands);

        case 5:
          if (!(
#line 10328 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10332 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2162 (insn, operands);

        case 6:
          if (!(
#line 10369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10373 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2165 (insn, operands);

        default:
          return NULL;
        }

    case SIGN_EXTEND:
      if (GET_MODE (x2) != E_DImode)
        return NULL;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      if (!register_operand (operands[0], E_DImode))
        return NULL;
      x7 = XEXP (x2, 0);
      if (GET_MODE (x7) != E_SImode)
        return NULL;
      switch (GET_CODE (x7))
        {
        case SS_PLUS:
          switch (pattern445 (x7))
            {
            case 0:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2149 (insn, operands);

            case 1:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2151 (insn, operands);

            case 2:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2153 (insn, operands);

            case 3:
              if (!(
#line 10237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2155 (insn, operands);

            default:
              return NULL;
            }

        case SS_MINUS:
          switch (pattern446 (x7))
            {
            case 0:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2182 (insn, operands);

            case 1:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2184 (insn, operands);

            case 2:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2186 (insn, operands);

            case 3:
              if (!(
#line 10470 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2188 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case MINUS:
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x7 = XEXP (x2, 0);
      operands[1] = x7;
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case ZERO_EXTEND:
          switch (pattern30 (x2))
            {
            case 0:
              if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2166 (insn, operands);

            case 1:
              if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2169 (insn, operands);

            case 2:
              if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2172 (insn, operands);

            case 3:
              if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2175 (insn, operands);

            default:
              return NULL;
            }

        case UNSPEC:
          if (XVECLEN (x3, 0) != 3
              || XINT (x3, 1) != 291
              || GET_MODE (x3) != E_SImode)
            return NULL;
          x12 = XVECEXP (x3, 0, 1);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[0], E_SImode)
              || GET_MODE (x2) != E_SImode
              || !register_operand (operands[1], E_SImode))
            return NULL;
          switch (pattern698 (x3))
            {
            case 0:
              if (!(
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2178 (insn, operands);

            case 1:
              if (!(
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2179 (insn, operands);

            case 2:
              if (!(
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2180 (insn, operands);

            case 3:
              if (!(
#line 10434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10436 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2181 (insn, operands);

            default:
              return NULL;
            }

        case VEC_DUPLICATE:
          switch (pattern31 (x2))
            {
            case 0:
              if (!(
#line 10522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2190 (insn, operands);

            case 1:
              if (!(
#line 10561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2193 (insn, operands);

            case 2:
              if (!(
#line 10602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2196 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case SS_MINUS:
      switch (pattern32 (x1))
        {
        case 0:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2167 (insn, operands);

        case 1:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2170 (insn, operands);

        case 2:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2173 (insn, operands);

        case 3:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2176 (insn, operands);

        case 4:
          if (!(
#line 10522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2191 (insn, operands);

        case 5:
          if (!(
#line 10561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2194 (insn, operands);

        case 6:
          if (!(
#line 10602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2197 (insn, operands);

        default:
          return NULL;
        }

    case US_MINUS:
      switch (pattern32 (x1))
        {
        case 0:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2168 (insn, operands);

        case 1:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2171 (insn, operands);

        case 2:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2174 (insn, operands);

        case 3:
          if (!(
#line 10415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2177 (insn, operands);

        case 4:
          if (!(
#line 10522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10526 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2192 (insn, operands);

        case 5:
          if (!(
#line 10561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2195 (insn, operands);

        case 6:
          if (!(
#line 10602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2198 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  switch (GET_CODE (x1))
    {
    case SET:
      return split_129 (x1, insn);

    case PARALLEL:
      return split_128 (x1, insn);

    case PREFETCH:
      x2 = XEXP (x1, 0);
      if (GET_CODE (x2) != UNSPEC
          || XVECLEN (x2, 0) != 7
          || XINT (x2, 1) != 156
          || GET_MODE (x2) != E_DImode)
        return NULL;
      x3 = XVECEXP (x2, 0, 2);
      if (GET_CODE (x3) != UNSPEC
          || pattern365 (x3) != 0)
        return NULL;
      x4 = XVECEXP (x2, 0, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], E_VNx2BImode))
        return NULL;
      x5 = XVECEXP (x2, 0, 1);
      operands[1] = x5;
      if (!register_operand (operands[1], E_DImode))
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[9] = x6;
      x7 = XVECEXP (x3, 0, 1);
      x8 = XEXP (x7, 0);
      x9 = XEXP (x8, 0);
      operands[2] = x9;
      if (!register_operand (operands[2], E_VNx2DImode))
        return NULL;
      x10 = XVECEXP (x2, 0, 3);
      operands[3] = x10;
      if (!const_int_operand (operands[3], E_DImode))
        return NULL;
      x11 = XVECEXP (x2, 0, 4);
      operands[4] = x11;
      x12 = XVECEXP (x2, 0, 5);
      operands[5] = x12;
      if (aarch64_simd_imm_zero (operands[5], E_VNx16QImode)
          && aarch64_gather_scale_operand_b (operands[4], E_DImode))
        {
          x13 = XVECEXP (x2, 0, 6);
          operands[6] = x13;
          if (const_int_operand (operands[6], E_DImode))
            {
              x14 = XEXP (x1, 1);
              operands[7] = x14;
              if (const_int_operand (operands[7], E_DImode))
                {
                  x15 = XEXP (x1, 2);
                  operands[8] = x15;
                  if (const_int_operand (operands[8], E_DImode)
                      && (
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
                    return gen_split_630 (insn, operands);
                }
            }
        }
      if (aarch64_simd_imm_zero (operands[5], E_VNx8HImode)
          && aarch64_gather_scale_operand_h (operands[4], E_DImode))
        {
          x13 = XVECEXP (x2, 0, 6);
          operands[6] = x13;
          if (const_int_operand (operands[6], E_DImode))
            {
              x14 = XEXP (x1, 1);
              operands[7] = x14;
              if (const_int_operand (operands[7], E_DImode))
                {
                  x15 = XEXP (x1, 2);
                  operands[8] = x15;
                  if (const_int_operand (operands[8], E_DImode)
                      && (
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
                    return gen_split_631 (insn, operands);
                }
            }
        }
      if (aarch64_simd_imm_zero (operands[5], E_VNx4SImode)
          && aarch64_gather_scale_operand_w (operands[4], E_DImode))
        {
          x13 = XVECEXP (x2, 0, 6);
          operands[6] = x13;
          if (const_int_operand (operands[6], E_DImode))
            {
              x14 = XEXP (x1, 1);
              operands[7] = x14;
              if (const_int_operand (operands[7], E_DImode))
                {
                  x15 = XEXP (x1, 2);
                  operands[8] = x15;
                  if (const_int_operand (operands[8], E_DImode)
                      && (
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
                    return gen_split_632 (insn, operands);
                }
            }
        }
      if (!aarch64_simd_imm_zero (operands[5], E_VNx2DImode)
          || !aarch64_gather_scale_operand_d (operands[4], E_DImode))
        return NULL;
      x13 = XVECEXP (x2, 0, 6);
      operands[6] = x13;
      if (!const_int_operand (operands[6], E_DImode))
        return NULL;
      x14 = XEXP (x1, 1);
      operands[7] = x14;
      if (!const_int_operand (operands[7], E_DImode))
        return NULL;
      x15 = XEXP (x1, 2);
      operands[8] = x15;
      if (!const_int_operand (operands[8], E_DImode)
          || !(
#line 2048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
        return NULL;
      return gen_split_633 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_DFmode)
      && memory_operand (operands[1], E_DFmode))
    {
      switch (GET_MODE (operands[2]))
        {
        case E_DFmode:
          if (register_operand (operands[2], E_DFmode)
              && memory_operand (operands[3], E_DFmode)
              && 
#line 50 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_17 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case E_V8QImode:
          if (register_operand (operands[2], E_V8QImode)
              && memory_operand (operands[3], E_V8QImode)
              && 
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_25 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case E_V4HImode:
          if (register_operand (operands[2], E_V4HImode)
              && memory_operand (operands[3], E_V4HImode)
              && 
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_31 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case E_V4HFmode:
          if (register_operand (operands[2], E_V4HFmode)
              && memory_operand (operands[3], E_V4HFmode)
              && 
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_37 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case E_V2SImode:
          if (register_operand (operands[2], E_V2SImode)
              && memory_operand (operands[3], E_V2SImode)
              && 
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_43 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case E_V2SFmode:
          if (register_operand (operands[2], E_V2SFmode)
              && memory_operand (operands[3], E_V2SFmode)
              && 
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_49 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (memory_operand (operands[0], E_DFmode))
    {
      if (aarch64_reg_or_fp_zero (operands[1], E_DFmode)
          && memory_operand (operands[2], E_DFmode)
          && aarch64_reg_or_fp_zero (operands[3], E_DFmode)
          && 
#line 62 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_19 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
      if (register_operand (operands[1], E_DFmode))
        {
          switch (GET_MODE (operands[2]))
            {
            case E_V8QImode:
              if (memory_operand (operands[2], E_V8QImode)
                  && register_operand (operands[3], E_V8QImode)
                  && 
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_61 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case E_V4HImode:
              if (memory_operand (operands[2], E_V4HImode)
                  && register_operand (operands[3], E_V4HImode)
                  && 
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_67 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case E_V4HFmode:
              if (memory_operand (operands[2], E_V4HFmode)
                  && register_operand (operands[3], E_V4HFmode)
                  && 
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_73 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case E_V2SImode:
              if (memory_operand (operands[2], E_V2SImode)
                  && register_operand (operands[3], E_V2SImode)
                  && 
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_79 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case E_V2SFmode:
              if (memory_operand (operands[2], E_V2SFmode)
                  && register_operand (operands[3], E_V2SFmode)
                  && 
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_85 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (aarch64_reg_zero_or_fp_zero (operands[1], E_DFmode)
          && memory_operand (operands[2], E_DImode)
          && aarch64_reg_zero_or_fp_zero (operands[3], E_DImode)
          && 
#line 166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, DImode)))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_222 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
    }
  if (register_operand (operands[0], E_DFmode)
      && memory_operand (operands[1], E_DFmode)
      && register_operand (operands[2], E_DFmode)
      && memory_operand (operands[3], E_DFmode)
      && 
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DFmode)))
    {
      *pmatch_len_ = 1;
      res = gen_peephole2_55 (insn, operands);
      if (res != NULL_RTX)
        return res;
    }
  if (memory_operand (operands[0], E_DFmode)
      && register_operand (operands[1], E_DFmode)
      && memory_operand (operands[2], E_DFmode)
      && register_operand (operands[3], E_DFmode)
      && 
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, DFmode)))
    {
      *pmatch_len_ = 1;
      res = gen_peephole2_91 (insn, operands);
      if (res != NULL_RTX)
        return res;
    }
  if (peep2_current_count < 3
      || peep2_current_count < 4)
    return NULL;
  x2 = PATTERN (peep2_next_insn (2));
  if (GET_CODE (x2) != SET)
    return NULL;
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  if (register_operand (operands[4], E_DFmode))
    {
      x4 = XEXP (x2, 1);
      if (pattern781 (x4, E_DFmode) == 0
          && 
#line 209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, true, DFmode)))
        {
          *pmatch_len_ = 3;
          res = gen_peephole2_229 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
    }
  if (!memory_operand (operands[4], E_DFmode))
    return NULL;
  x4 = XEXP (x2, 1);
  if (pattern783 (x4, E_DFmode) != 0
      || !
#line 289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, false, DFmode)))
    return NULL;
  *pmatch_len_ = 3;
  return gen_peephole2_235 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V2DFmode))
    {
      switch (pattern618 (E_V2DFmode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_140 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_141 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_142 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_143 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_144 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_145 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_146 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_147 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (memory_operand (operands[0], E_V2DFmode))
    {
      if (register_operand (operands[1], E_V2DFmode))
        {
          switch (pattern658 ())
            {
            case 0:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_204 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_205 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_206 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_207 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_208 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_209 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 6:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_210 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 7:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_211 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (peep2_current_count >= 3)
        {
          x2 = PATTERN (peep2_next_insn (2));
          if (pattern657 (x2, E_V2DFmode) == 0
              && 
#line 309 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, false, V2DFmode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_239 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
    }
  if (peep2_current_count < 3)
    return NULL;
  x2 = PATTERN (peep2_next_insn (2));
  if (pattern617 (x2, E_V2DFmode) != 0
      || !
#line 330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, true, V2DFmode)))
    return NULL;
  *pmatch_len_ = 3;
  return gen_peephole2_243 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V2DImode))
    {
      switch (pattern618 (E_V2DImode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_116 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_117 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_118 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_119 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_120 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_121 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_122 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_123 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (memory_operand (operands[0], E_V2DImode))
    {
      if (register_operand (operands[1], E_V2DImode))
        {
          switch (pattern658 ())
            {
            case 0:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_180 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_181 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_182 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_183 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_184 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_185 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 6:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_186 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 7:
              if (
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2DImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_187 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (peep2_current_count >= 3)
        {
          x2 = PATTERN (peep2_next_insn (2));
          if (pattern657 (x2, E_V2DImode) == 0
              && 
#line 309 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, false, V2DImode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_238 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
    }
  if (peep2_current_count < 3)
    return NULL;
  x2 = PATTERN (peep2_next_insn (2));
  if (pattern617 (x2, E_V2DImode) != 0
      || !
#line 330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, true, V2DImode)))
    return NULL;
  *pmatch_len_ = 3;
  return gen_peephole2_242 (insn, operands);
}

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_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V4SFmode))
    {
      switch (pattern618 (E_V4SFmode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_132 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_133 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_134 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_135 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_136 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_137 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_138 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_139 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (!memory_operand (operands[0], E_V4SFmode)
      || !register_operand (operands[1], E_V4SFmode))
    return NULL;
  switch (pattern658 ())
    {
    case 0:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_196 (insn, operands);

    case 1:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_197 (insn, operands);

    case 2:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_198 (insn, operands);

    case 3:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_199 (insn, operands);

    case 4:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_200 (insn, operands);

    case 5:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_201 (insn, operands);

    case 6:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_202 (insn, operands);

    case 7:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_203 (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_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V8BFmode))
    {
      switch (pattern618 (E_V8BFmode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_148 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_149 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_150 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_151 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_152 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_153 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_154 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_155 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (!memory_operand (operands[0], E_V8BFmode)
      || !register_operand (operands[1], E_V8BFmode))
    return NULL;
  switch (pattern658 ())
    {
    case 0:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_212 (insn, operands);

    case 1:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_213 (insn, operands);

    case 2:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_214 (insn, operands);

    case 3:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_215 (insn, operands);

    case 4:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_216 (insn, operands);

    case 5:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_217 (insn, operands);

    case 6:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_218 (insn, operands);

    case 7:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8BFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_219 (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_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V8HFmode))
    {
      switch (pattern618 (E_V8HFmode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_124 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_125 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_126 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_127 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_128 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_129 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_130 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_131 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (!memory_operand (operands[0], E_V8HFmode)
      || !register_operand (operands[1], E_V8HFmode))
    return NULL;
  switch (pattern658 ())
    {
    case 0:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_188 (insn, operands);

    case 1:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_189 (insn, operands);

    case 2:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_190 (insn, operands);

    case 3:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_191 (insn, operands);

    case 4:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_192 (insn, operands);

    case 5:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_193 (insn, operands);

    case 6:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_194 (insn, operands);

    case 7:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HFmode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_195 (insn, operands);

    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_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V4SImode))
    {
      switch (pattern618 (E_V4SImode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_108 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_109 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_110 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_111 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_112 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_113 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_114 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_115 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (!memory_operand (operands[0], E_V4SImode)
      || !register_operand (operands[1], E_V4SImode))
    return NULL;
  switch (pattern658 ())
    {
    case 0:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_172 (insn, operands);

    case 1:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_173 (insn, operands);

    case 2:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_174 (insn, operands);

    case 3:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_175 (insn, operands);

    case 4:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_176 (insn, operands);

    case 5:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_177 (insn, operands);

    case 6:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_178 (insn, operands);

    case 7:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4SImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_179 (insn, operands);

    default:
      return NULL;
    }
}

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_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V8HImode))
    {
      switch (pattern618 (E_V8HImode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_100 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_101 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_102 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_103 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_104 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_105 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_106 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_107 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (!memory_operand (operands[0], E_V8HImode)
      || !register_operand (operands[1], E_V8HImode))
    return NULL;
  switch (pattern658 ())
    {
    case 0:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_164 (insn, operands);

    case 1:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_165 (insn, operands);

    case 2:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_166 (insn, operands);

    case 3:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_167 (insn, operands);

    case 4:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_168 (insn, operands);

    case 5:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_169 (insn, operands);

    case 6:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_170 (insn, operands);

    case 7:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8HImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_171 (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_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V16QImode))
    {
      switch (pattern618 (E_V16QImode))
        {
        case 0:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_92 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_93 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_94 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_95 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_96 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_97 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 6:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_98 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 7:
          if (
#line 99 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, true, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_99 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (!memory_operand (operands[0], E_V16QImode)
      || !register_operand (operands[1], E_V16QImode))
    return NULL;
  switch (pattern658 ())
    {
    case 0:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_156 (insn, operands);

    case 1:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_157 (insn, operands);

    case 2:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_158 (insn, operands);

    case 3:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_159 (insn, operands);

    case 4:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_160 (insn, operands);

    case 5:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_161 (insn, operands);

    case 6:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_162 (insn, operands);

    case 7:
      if (!
#line 114 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V16QImode)
   && (aarch64_tune_params.extra_tuning_flags
	& AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS) == 0))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_163 (insn, operands);

    default:
      return NULL;
    }
}

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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V2SFmode))
    {
      switch (pattern615 (E_V2SFmode))
        {
        case 0:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_24 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_30 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_36 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_42 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_48 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_54 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (memory_operand (operands[0], E_V2SFmode))
    {
      if (register_operand (operands[1], E_V2SFmode))
        {
          switch (pattern655 ())
            {
            case 0:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_60 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_66 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_72 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_78 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_84 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_90 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (peep2_current_count >= 3)
        {
          x2 = PATTERN (peep2_next_insn (2));
          if (pattern657 (x2, E_V2SFmode) == 0
              && 
#line 309 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, false, V2SFmode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_237 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
    }
  if (peep2_current_count < 3)
    return NULL;
  x2 = PATTERN (peep2_next_insn (2));
  if (pattern617 (x2, E_V2SFmode) != 0
      || !
#line 330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, true, V2SFmode)))
    return NULL;
  *pmatch_len_ = 3;
  return gen_peephole2_241 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (register_operand (operands[0], E_V2SImode))
    {
      switch (pattern615 (E_V2SImode))
        {
        case 0:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_23 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 1:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_29 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 2:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_35 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 3:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_41 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 4:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_47 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        case 5:
          if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V2SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_53 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          break;

        default:
          break;
        }
    }
  if (memory_operand (operands[0], E_V2SImode))
    {
      if (register_operand (operands[1], E_V2SImode))
        {
          switch (pattern655 ())
            {
            case 0:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_59 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_65 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_71 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_77 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_83 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V2SImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_89 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (peep2_current_count >= 3)
        {
          x2 = PATTERN (peep2_next_insn (2));
          if (pattern657 (x2, E_V2SImode) == 0
              && 
#line 309 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, false, V2SImode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_236 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
    }
  if (peep2_current_count < 3)
    return NULL;
  x2 = PATTERN (peep2_next_insn (2));
  if (pattern617 (x2, E_V2SImode) != 0
      || !
#line 330 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_adjust_ok_for_ldpstp (operands, true, V2SImode)))
    return NULL;
  *pmatch_len_ = 3;
  return gen_peephole2_240 (insn, operands);
}

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, x8, x9;
  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;
  x4 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x4) != SET)
    return NULL;
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  x6 = XEXP (x4, 1);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case E_SImode:
      if (register_operand (operands[0], E_SImode)
          && memory_operand (operands[1], E_SImode)
          && register_operand (operands[2], E_SImode)
          && memory_operand (operands[3], E_SImode)
          && 
#line 26 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, SImode)))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_12 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
      if (memory_operand (operands[0], E_SImode))
        {
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && memory_operand (operands[2], E_SImode)
              && aarch64_reg_or_zero (operands[3], E_SImode)
              && 
#line 38 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_14 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (aarch64_reg_zero_or_fp_zero (operands[1], E_SImode)
              && memory_operand (operands[2], E_SFmode)
              && aarch64_reg_zero_or_fp_zero (operands[3], E_SFmode)
              && 
#line 166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_225 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (peep2_current_count < 3
          || peep2_current_count < 4)
        return NULL;
      x7 = PATTERN (peep2_next_insn (2));
      if (GET_CODE (x7) != SET)
        return NULL;
      x8 = XEXP (x7, 0);
      operands[4] = x8;
      if (register_operand (operands[4], E_SImode))
        {
          x9 = XEXP (x7, 1);
          if (pattern781 (x9, E_SImode) == 0
              && 
#line 189 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, true, SImode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_226 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[4], E_SImode))
        return NULL;
      x9 = XEXP (x7, 1);
      if (pattern782 (x9, E_SImode) != 0
          || !
#line 269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, false, SImode)))
        return NULL;
      *pmatch_len_ = 3;
      return gen_peephole2_232 (insn, operands);

    case E_DImode:
      if (register_operand (operands[0], E_DImode)
          && memory_operand (operands[1], E_DImode)
          && register_operand (operands[2], E_DImode)
          && memory_operand (operands[3], E_DImode)
          && 
#line 26 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, DImode)))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_13 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
      if (memory_operand (operands[0], E_DImode))
        {
          if (aarch64_reg_or_zero (operands[1], E_DImode)
              && memory_operand (operands[2], E_DImode)
              && aarch64_reg_or_zero (operands[3], E_DImode)
              && 
#line 38 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, DImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_15 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (aarch64_reg_zero_or_fp_zero (operands[1], E_DImode)
              && memory_operand (operands[2], E_DFmode)
              && aarch64_reg_zero_or_fp_zero (operands[3], E_DFmode)
              && 
#line 166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, DImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_223 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (peep2_current_count < 3
          || peep2_current_count < 4)
        return NULL;
      x7 = PATTERN (peep2_next_insn (2));
      if (GET_CODE (x7) != SET)
        return NULL;
      x8 = XEXP (x7, 0);
      operands[4] = x8;
      if (register_operand (operands[4], E_DImode))
        {
          x9 = XEXP (x7, 1);
          if (pattern781 (x9, E_DImode) == 0
              && 
#line 189 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, true, DImode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_227 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[4], E_DImode))
        return NULL;
      x9 = XEXP (x7, 1);
      if (pattern782 (x9, E_DImode) != 0
          || !
#line 269 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, false, DImode)))
        return NULL;
      *pmatch_len_ = 3;
      return gen_peephole2_233 (insn, operands);

    case E_SFmode:
      if (register_operand (operands[0], E_SFmode)
          && memory_operand (operands[1], E_SFmode)
          && register_operand (operands[2], E_SFmode)
          && memory_operand (operands[3], E_SFmode)
          && 
#line 50 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, SFmode)))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_16 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
      if (memory_operand (operands[0], E_SFmode))
        {
          if (aarch64_reg_or_fp_zero (operands[1], E_SFmode)
              && memory_operand (operands[2], E_SFmode)
              && aarch64_reg_or_fp_zero (operands[3], E_SFmode)
              && 
#line 62 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, SFmode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_18 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (aarch64_reg_zero_or_fp_zero (operands[1], E_SFmode)
              && memory_operand (operands[2], E_SImode)
              && aarch64_reg_zero_or_fp_zero (operands[3], E_SImode)
              && 
#line 166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, false, SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_224 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (peep2_current_count < 3
          || peep2_current_count < 4)
        return NULL;
      x7 = PATTERN (peep2_next_insn (2));
      if (GET_CODE (x7) != SET)
        return NULL;
      x8 = XEXP (x7, 0);
      operands[4] = x8;
      if (register_operand (operands[4], E_SFmode))
        {
          x9 = XEXP (x7, 1);
          if (pattern781 (x9, E_SFmode) == 0
              && 
#line 209 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, true, SFmode)))
            {
              *pmatch_len_ = 3;
              res = gen_peephole2_228 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[4], E_SFmode))
        return NULL;
      x9 = XEXP (x7, 1);
      if (pattern783 (x9, E_SFmode) != 0
          || !
#line 289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, false, SFmode)))
        return NULL;
      *pmatch_len_ = 3;
      return gen_peephole2_234 (insn, operands);

    case E_DFmode:
      return peephole2_1 (x1, insn, pmatch_len_);

    case E_V8QImode:
      if (register_operand (operands[0], E_V8QImode))
        {
          switch (pattern615 (E_V8QImode))
            {
            case 0:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V8QImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_20 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V8QImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_26 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V8QImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_32 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V8QImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_38 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V8QImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_44 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V8QImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_50 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (!memory_operand (operands[0], E_V8QImode)
          || !register_operand (operands[1], E_V8QImode))
        return NULL;
      switch (pattern655 ())
        {
        case 0:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8QImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_56 (insn, operands);

        case 1:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8QImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_62 (insn, operands);

        case 2:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8QImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_68 (insn, operands);

        case 3:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8QImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_74 (insn, operands);

        case 4:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8QImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_80 (insn, operands);

        case 5:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V8QImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_86 (insn, operands);

        default:
          return NULL;
        }

    case E_V4HImode:
      if (register_operand (operands[0], E_V4HImode))
        {
          switch (pattern615 (E_V4HImode))
            {
            case 0:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_21 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_27 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_33 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_39 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_45 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HImode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_51 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (!memory_operand (operands[0], E_V4HImode)
          || !register_operand (operands[1], E_V4HImode))
        return NULL;
      switch (pattern655 ())
        {
        case 0:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_57 (insn, operands);

        case 1:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_63 (insn, operands);

        case 2:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_69 (insn, operands);

        case 3:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_75 (insn, operands);

        case 4:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_81 (insn, operands);

        case 5:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_87 (insn, operands);

        default:
          return NULL;
        }

    case E_V4HFmode:
      if (register_operand (operands[0], E_V4HFmode))
        {
          switch (pattern615 (E_V4HFmode))
            {
            case 0:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_22 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 1:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_28 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 2:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_34 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 3:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_40 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 4:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_46 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case 5:
              if (
#line 74 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, V4HFmode)))
                {
                  *pmatch_len_ = 1;
                  res = gen_peephole2_52 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (!memory_operand (operands[0], E_V4HFmode)
          || !register_operand (operands[1], E_V4HFmode))
        return NULL;
      switch (pattern655 ())
        {
        case 0:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HFmode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_58 (insn, operands);

        case 1:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HFmode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_64 (insn, operands);

        case 2:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HFmode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_70 (insn, operands);

        case 3:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HFmode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_76 (insn, operands);

        case 4:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HFmode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_82 (insn, operands);

        case 5:
          if (!
#line 86 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_SIMD
   && aarch64_operands_ok_for_ldpstp (operands, false, V4HFmode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_88 (insn, operands);

        default:
          return NULL;
        }

    case E_V2SImode:
      return peephole2_11 (x1, insn, pmatch_len_);

    case E_V2SFmode:
      return peephole2_10 (x1, insn, pmatch_len_);

    case E_V16QImode:
      return peephole2_9 (x1, insn, pmatch_len_);

    case E_V8HImode:
      return peephole2_8 (x1, insn, pmatch_len_);

    case E_V4SImode:
      return peephole2_7 (x1, insn, pmatch_len_);

    case E_V2DImode:
      return peephole2_3 (x1, insn, pmatch_len_);

    case E_V8HFmode:
      return peephole2_6 (x1, insn, pmatch_len_);

    case E_V4SFmode:
      return peephole2_4 (x1, insn, pmatch_len_);

    case E_V2DFmode:
      return peephole2_2 (x1, insn, pmatch_len_);

    case E_V8BFmode:
      return peephole2_5 (x1, insn, pmatch_len_);

    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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  if (GET_CODE (x1) != SET)
    return NULL;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case PLUS:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (GET_MODE (x2) != E_SImode
              || !register_operand (operands[1], E_SImode))
            return NULL;
          if (register_operand (operands[0], E_SImode)
              && aarch64_pluslong_strict_immedate (operands[2], E_SImode)
              && 
#line 2119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_move_imm (INTVAL (operands[2]), SImode)))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_1 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (peep2_current_count < 2)
            return NULL;
          x6 = PATTERN (peep2_next_insn (1));
          if (pattern561 (x6, E_SImode) != 0
              || !
#line 3219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!reg_overlap_mentioned_p (operands[0], operands[1])
   && INTVAL (operands[3]) == -INTVAL (operands[2])))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_8 (insn, operands);

        case E_DImode:
          if (GET_MODE (x2) != E_DImode
              || !register_operand (operands[1], E_DImode))
            return NULL;
          if (register_operand (operands[0], E_DImode)
              && aarch64_pluslong_strict_immedate (operands[2], E_DImode)
              && 
#line 2119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_move_imm (INTVAL (operands[2]), DImode)))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_2 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (peep2_current_count < 2)
            return NULL;
          x6 = PATTERN (peep2_next_insn (1));
          if (pattern561 (x6, E_DImode) != 0
              || !
#line 3219 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!reg_overlap_mentioned_p (operands[0], operands[1])
   && INTVAL (operands[3]) == -INTVAL (operands[2])))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_9 (insn, operands);

        default:
          return NULL;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x2) != E_DImode)
        return NULL;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode))
        return NULL;
      x4 = XEXP (x2, 0);
      switch (GET_CODE (x4))
        {
        case PLUS:
          if (GET_MODE (x4) != E_SImode)
            return NULL;
          x7 = XEXP (x4, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], E_SImode))
            return NULL;
          x8 = XEXP (x4, 1);
          operands[2] = x8;
          if (!aarch64_pluslong_strict_immedate (operands[2], E_SImode)
              || !
#line 2131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(aarch64_move_imm (INTVAL (operands[2]), SImode)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_3 (insn, operands);

        case SUBREG:
        case MEM:
          if (peep2_current_count < 2
              || pattern366 (x4, ZERO_EXTEND) != 0)
            return NULL;
          if (
#line 144 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_221 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (peep2_current_count < 3)
            return NULL;
          x9 = PATTERN (peep2_next_insn (2));
          if (pattern838 (x9, ZERO_EXTEND) != 0
              || !
#line 249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, true, SImode)))
            return NULL;
          *pmatch_len_ = 3;
          return gen_peephole2_231 (insn, operands);

        default:
          return NULL;
        }

    case MINUS:
      if (peep2_current_count < 2)
        return NULL;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      x6 = PATTERN (peep2_next_insn (1));
      if (GET_CODE (x6) != SET)
        return NULL;
      x10 = XEXP (x6, 1);
      if (GET_CODE (x10) != COMPARE
          || GET_MODE (x10) != E_CCmode)
        return NULL;
      x11 = XEXP (x6, 0);
      if (GET_CODE (x11) != REG
          || REGNO (x11) != 66
          || GET_MODE (x11) != E_CCmode)
        return NULL;
      x12 = XEXP (x10, 0);
      if (!rtx_equal_p (x12, operands[1]))
        return NULL;
      x13 = XEXP (x10, 1);
      if (!rtx_equal_p (x13, operands[2]))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern809 (x2, E_SImode) != 0
              || !
#line 3181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_4 (insn, operands);

        case E_DImode:
          if (pattern809 (x2, E_DImode) != 0
              || !
#line 3181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(!reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_5 (insn, operands);

        default:
          return NULL;
        }

    case COMPARE:
      if (peep2_current_count < 2
          || pattern38 (x1) != 0)
        return NULL;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      if (aarch64_reg_or_zero (operands[2], E_SImode))
        {
          x6 = PATTERN (peep2_next_insn (1));
          if (pattern613 (x6, E_SImode) == 0)
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_6 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (aarch64_reg_or_zero (operands[2], E_DImode))
        {
          x6 = PATTERN (peep2_next_insn (1));
          if (pattern613 (x6, E_DImode) == 0)
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_7 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      operands[3] = x5;
      if (const_int_operand (operands[3], E_SImode))
        {
          x6 = PATTERN (peep2_next_insn (1));
          if (pattern614 (x6, E_SImode) == 0
              && 
#line 3240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[3]) == -INTVAL (operands[2])))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_10 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!const_int_operand (operands[3], E_DImode))
        return NULL;
      x6 = PATTERN (peep2_next_insn (1));
      if (pattern614 (x6, E_DImode) != 0
          || !
#line 3240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[3]) == -INTVAL (operands[2])))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_11 (insn, operands);

    case CONST_INT:
    case CONST_DOUBLE:
    case REG:
    case SUBREG:
    case MEM:
      return peephole2_12 (x1, insn, pmatch_len_);

    case SIGN_EXTEND:
      if (peep2_current_count < 2
          || GET_MODE (x2) != E_DImode)
        return NULL;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_DImode))
        return NULL;
      x4 = XEXP (x2, 0);
      if (pattern366 (x4, SIGN_EXTEND) != 0)
        return NULL;
      if (
#line 132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_ok_for_ldpstp (operands, true, SImode)))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_220 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
      if (peep2_current_count < 3)
        return NULL;
      x9 = PATTERN (peep2_next_insn (2));
      if (pattern838 (x9, SIGN_EXTEND) != 0
          || !
#line 229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/config/aarch64/aarch64-ldpstp.md"
(aarch64_operands_adjust_ok_for_ldpstp (operands, true, SImode)))
        return NULL;
      *pmatch_len_ = 3;
      return gen_peephole2_230 (insn, operands);

    default:
      return NULL;
    }
}
